Shell运算
Posted 钟桂耀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell运算相关的知识,希望对你有一定的参考价值。
整数值运算
使用expr命令:只能做整数运算,默认返回计算结果
格式:
expr 整数1 运算符 整数2 ...
整数值可以有变量提供,直接给出运算结果
+ 加法 expr 43 + 21 、expr $X + $Y - 减法 expr 43 - 21 、expr $X - $Y \* 乘法 expr 43 \* 21 、expr $X \* $Y / 除法 expr 43 / 21 、expr $X / $Y % 取余数 expr 43 % 21 、expr $X % $Y
例子:
#!/bin/bash #计算用户从终端输入的任意2个数的和 read -p "请输入第一个数" num1 read -p "请输入第二个数" num2 sum=`expr $num1 + $num2` echo "$num1 + $num2 = $sum"
使用$[]或$(())表达式
需借助echo输出结果,运算类型与expr类似 乘法*不用加转义符使用变量时,直接指定变量名,不用加$符号
shell中如何进行算术运算:
let 算术运算表达式 let C=$A+$B $[算术运算表达式] C=$[$A+$B] $((算术运算表达式)) C=$(($A+$B)) expr 算术运算表达式,
表达式中各操作数及运算符之间要有空格,
而且要使用命令引用 C=`expr $A + $B`
表达式的简化
变量的递增、递减等操作
简写表达式 完整表达式 i++ i=i+1 i-- i=i-1 i*=2 i=i*2 i+=2 i=i+2 i-=2 i=i-2 i%=2 i=i%2
注意:
i++:先参与其他操作,后运算
++i:先运算,再参与其他操作
例子:
i=1 echo $((++i)) j=1 echo $((j++))
变量的自增/减等操作
使用let命令
操作变量值,只运算,不输出结果
若要查看结果,需借助echo命令
let:只做运算不返回计算结果,适用于自加和自减运算
#!/bin/bash i=10 let i-=2 echo $i let i-=2 echo $i echo ------------------- i=10 let i+=2 echo $i let i+=2 echo $i
以上是关于Shell运算的主要内容,如果未能解决你的问题,请参考以下文章