我有问题,但仍无法处理它。 :( 这是我的代码
declare -i disk_usage_rate=$(df -h /appdata/SCT_CDR | cut -d '%' -f 1 | awk 'NR==2{print $5}')
while ["$disk_usage_rate" -gt 80]
do
...
...
done
我从df -h命令获取磁盘使用率。但在while循环中我得到了followig错误。顺便说一下,它是bash脚本。
bash:[84:命令未找到
我尝试了很多东西,但我还没解决。
答案 0 :(得分:1)
我看到一个错误:在'['
之后和']'
之前的空行添加空格:
while [ "$disk_usage_rate" -gt 80 ]
它更好吗?
答案 1 :(得分:1)
您在while循环中使用的方括号附近缺少空格,如下面的 -
declare -i disk_usage_rate=$(df -h /appdata/SCT_CDR | cut -d '%' -f 1 | awk 'NR==2{print $5}')
while [ "$disk_usage_rate" -gt 80 ]
do
...
...
done
一点历史:这是因为' ['在历史上不是一个 shell-built-in但是接收expresson的单独的可执行文件 作为参数并返回结果。如果你没有围绕着这样的话。[' 对于空间,shell将搜索$ PATH以获得不同的 文件名(而不是找到它)。 - Andrew Medico Jun 24&09; 09 1:13