在 shell 中将变量值减 1
2021-12-31
2096
使用
/bin/sh
而不是使用
/bin/bash
脚本在 while 循环中将变量值减少 1 的正确语法是什么
我使用了下面的方法但没有用
a=15
((a=a-1)) // not working
((a--)) // not working
编辑 1
i=0
a=[]
b=15
while [ $a == [] ] && [ "$i" -le 15 ]
do
echo " Waiting ."
sleep 60s
((i=i+1))
b=`expr $b- 1`
a=`some command`
done
仍然出现以下错误
sh: was: unknown operand /bin/sh: exit: line 186: Illegal number: -1
2个回答
算术替换拼写为
$(( ))
,并扩展为结果。如果您只需要副作用(例如增量),请在空命令中使用它:
a=15
: $((--a))
echo $a
请注意,shell 算术仅限于整数。
Jens
2021-12-31
$ a=15
$ a=`expr $a - 1`
$ echo $a
14
Thiru
2021-12-31