算术运算符使用详解"/>
shell脚本算术运算符使用详解
Shell中常用的算术运算符如下所示。
+:对两个变量做加法。
-:对两个变量做减法。
*:对两个变量做乘法。
/:对两个变量做除法。
**:对两个变量做幂运算。
%:取模运算,第一个变量除以第二个变量求余数。
+=:加等于,在自身基础上加第二个变量。
-=:减等于,在第一个变量的基础上减去第二个变量。
*=:乘等于,在第一个变量的基础上乘以第二个变量。
/=:除等于,在第一个变量的基础上除以第二个变量。
%=:取模赋值,第一个变量对第二个变量取模运算,再赋值给第一个变量。
在shell的算术运算中有以下几种方法:
名称 | 语法 | 范例 |
算术扩展 | 变量=$((算术表达式)) | r=$((1+2*3)) |
使用外部程序expr | 变量=`expr 算术表达式` | r=`expr 1+2*3` |
使用[ ] | 变量=$[算术表达式] | r=$[1+2] |
使用内置命令declare | declare -i 变量=算术表达式 | declare -i r=1+2*3 |
使用内置命令let | let 算术表达式 | let r=1+2 |
注意事项:
用expr表示后面的表达式为一个数学运算。需要注意的是,`并不是一个单引号,而是“Tab”键上面的那个符号,表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2。
用let表示后面的表达式为一个数学运算。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。
例:let “I = I + 1” 或 let i=i+1
用let表示后面的表达式为一个数学运算。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。例:let “I = I + 1” 或 let i=i+1
数学运算实例:
t=`expr$1**$2` #用expr改变运算顺序,求x的y次方。
t=$[t*3] #t乘以3。
s=$[s+t] #结果相加。
t=$[$1**2] #求x的平方。
t=$[t*4] #结果乘以4。
s=$[s+t] #结果相加。
t=`expr$2*5` #求5y的值。
s=$[s+t] #结果相加。
s=$[s+6] #结果加上6。
echo$s #输出结果。
echo$((a%b)) #取余
更多推荐
shell脚本算术运算符使用详解
发布评论