Shell脚本--(())

双小括号 (( )) 是 Bash Shell 中专门用来进行整数运算的命令,它的效率很高,写法灵活。

但是,(( )) 只能进行整数运算,不能对小数(浮点数)或者字符串进行运算。

 

1. (()) 使用

(()) 的语法格式为:

((表达式))

通俗地讲,就是将数学运算表达式放在 (( 和 )) 之间。

表达式可以只有一个,也可以有多个,多个表达式之间以逗号 , 分隔。对于多个表达式的情况,以最后一个表达式的值作为整个 (( )) 命令的执行结果。

可以使用 $ 获取 (( )) 命令的结果,这和使用 $ 获得变量值是类似的。

示例:

#!/bin/bash

echo $((a=1+1,b=1+a))
echo $a
echo $b
echo $((1<2))

结果为:

3
2
3
1

 


 

在测试碰到一个问题,思考很久都 没有头绪,先记录下来待以后解决:

#!/bin/bash

set -e

((i = $1 % 3))
echo "i: $i"

奇怪的是输入参数是1、2、4、5....这些对3取模不为0的数都能正常打印 i 值,如果输入0、3、6...这些对3取模为0的数就无法打印 i 值。

posted @ 2023-04-18 15:35  时间在哪  阅读(153)  评论(0)    收藏  举报