【发布时间】:2019-02-28 15:18:28
【问题描述】:
脚本:
#!/bin/bash
var=$1;
while [[ "$var" -ge "0" ]];
do
echo -ne "$var"\\r;
var=$((var-1));
sleep 1;
done
除非我传递参数10(即var=10),否则它工作正常,在这种情况下倒计时显示:10, 90, 89, 88,... 我也尝试了var=$[var-1];,甚至尝试将变量存储在临时文件中并在循环中更新它时从那里读取它,同样奇怪的行为!为什么它不起作用?
Linux 版本:Debian Wheezy
【问题讨论】:
-
为什么不直接写成
((var--))呢? -
((var--)) 也不能解决它,因为正如@Szczad 解释的那样,bash 很好,它与我如何使用 echo " "\\r跨度>
标签: linux bash loops math while-loop