目录
一、使用(( ))
1、使用(( ))时候,变量可以不用加$前缀,
示例: ((c=a+b))
2、但是需要在(( ))双圆括号前加$来获得(( ))命令执行的结果
示例: c=$((a+b))正确 ,而c=((a+b))错误
3、表达式可以只有一个,也可以有多个,多个表达式之间以逗号,
分隔。对于多个表达式的情况,以最后一个表达式的值作为整个 (( )) 命令的执行结果。
示例: x=$((3+4,4+7)) echo $x 会输出11
4、使用这个(( ))可以进行自增++自减运算--
二、使用let
语法格式:
let 表达式 或者 let “表达式” 或者 let ‘表达式’ 他们都等价于 ((表达式))
易错点:
1、对于多个表达式之间的分隔符,let 和 (( )) 是有区别的
-
let 命令以空格来分隔多个表达式;
-
(( )) 以逗号
,
来分隔多个表达式。
2、还要注意一点,let的赋值
示例: sum=`let x+y` #虽然计算了x+y的值,但会丢弃,并不会赋值给sum 可以这样 let sum=x+y 注意sum和=和x和+和y之间不能有空格
三、使用expr运算
expr运算比较复杂,细节的内容特别多,可以参考以下博客进行学习,很容易出错,建议使用一二两种方式进行整数运算
Shell expr命令:进行整数计算 (biancheng.net)
实战
1、逆序输出一个数 (使用((...))方式)
Shell编程实战 | 逆序输出数字_Qodi的博客-CSDN博客
2、阶乘的计算 (使用 let 的方式 )