ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell算数运算

2022-07-21 15:34:31  阅读:195  来源: 互联网

标签:BEGIN shell 运算 bc echo 3.4 awk 算数 print


整数运算

命令方式

运算符方式

$((运算式))$[运算式]

a=1 
b=2
c=$(($a + $b))
d=$[$a + $b]

浮点运算

shell/bash不支持浮点运算,如果需要进行浮点运算,需要借助awkbc处理。

awk

# 加
f=$(awk 'BEGIN{print 4.5+3.4 }')
echo ${f}

# 减
f=$(awk 'BEGIN{print 4.5-3.4 }')
echo ${f}

# 乘
f=$(awk 'BEGIN{print 4.5*3.4 }')
echo ${f}

# 除
f=$(awk 'BEGIN{print 4.5/3.4 }')
echo ${f}

# 混合
f=$(awk 'BEGIN{print (4.5-3.4)*2+3 }')
echo ${f}

# 传递外部变量
f=$(awk -v x=var1 -v y=var2 'BEGIN{print x+y }')
echo ${f}

# awk判断小数点后的位数
num=6.6666; echo $num | awk 'BEGIN{FS="."}{print length($2)}'

# 比较大小(如果num1>num2打印输出0,否则输出1)
awk -v num1=6.6 -v num2=5.5'BEGIN{print(num1>num2)?"0":"1"}'

bc

# 加
f=$(echo "4.3+2.5"|bc)
echo ${f}

# 减
f=$(echo "4.3-2.5"|bc)
echo ${f}

# 乘
f=$(echo "4.30*2.50"|bc)
echo ${f}

# 除
f=$(echo "4.3/2.5"|bc)
echo ${f}

# 混合运算
f=$(echo "2.2/(2.2-1.1)*2+1.1"|bc)
echo ${f}

变量声明为数字

标签:BEGIN,shell,运算,bc,echo,3.4,awk,算数,print
来源: https://www.cnblogs.com/sinicheveen/p/16502112.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有