尝试对脚本进行bash运算,但$e
直到最后才更新。输出说明一切。
max=5
for e in $(seq 1 1 $max); do
percent=$(( $e/$max*100 ))
echo "echo $e / $max : = $percent"
done
Tl; DR:显示1..5(以百分比表示)。
输出:
echo 1 / 5 : = 0
echo 2 / 5 : = 0
echo 3 / 5 : = 0
echo 4 / 5 : = 0
echo 5 / 5 : = 100
为什么是这样?
1
相关信息:Bash在执行计算时仅考虑整数而不考虑输入(尽管与此处描述的问题不同,无法通过对操作重新排序来很好地解决它。)
—
Eliah Kagan