运行脚本时收到以下错误:
第6行:[::预期的整数表达式
我会想象括号内的代码是一个整数,但是,我看不出它出错的地方。请告诉我如何解决这个问题?
if [ "$( df -h | grep hda1 | cut -c40-42)" -ge "80" ]; then
echo Subject: Production Server : Low Disk Space : Daily reporting for Server
fi
答案 0 :(得分:1)
df -h
提供“人类可读”输出,如1G或73M。这些显然不是整数。试着省略-h。您可能需要调整切割间距才能匹配。
答案 1 :(得分:1)
if [ "$( df -h | grep hda1 | tr -s ' '|cut -d" " -f 5 | cut -c-2)" -ge 80 ]; then echo Subject: Production Server : Low Disk Space : Daily reporting for Server
如果您尝试检查使用的%。我想,这将是一种更好的实施方式。
答案 2 :(得分:1)
很多管道正在进行......
df -h | awk '/hda1/{sub(/%/,"")}$5>80'
与cut | grep | cut | tr一样,没有额外的开销
答案 3 :(得分:0)
这个对我来说很好用:
[[ $(df -h | grep hda1 | cut -c40-42) -ge 80 ]]
我编辑了您的问题,您错过了fi
,这是一个错字还是错误?