BASH算术运算不起作用

时间:2016-10-19 18:33:40

标签: linux bash sh

以下代码用于计算文件获得dd时完成的百分比。

percentDone=$(((varFileSize / backupSize) * 100)

我能够调试运行的脚本,变量得到分配的数字。但是,只要脚本运行此行,percentDone就会保持为0。

我也试过这个:

   percentDone=$((varFileSize / backupSize))            
   percentDone=$((percentDone * 100))

任何想法请让我知道真正在努力解决这个问题! 谢谢!!

1 个答案:

答案 0 :(得分:3)

由于bash只支持整数,你必须以其他方式进行计算:

percentDone=$((varFileSize * 100 / backupSize))

否则将小于backupSize的任何内容除以它将导致零并将其乘以任何东西都无济于事。