我在运行脚本时收到以下错误:
第 6 行: [: : 预期的整数表达式
我想括号内的代码是一个整数,但是,我看不出哪里出错了。请你能告诉我如何解决这个问题吗?
if [ "$( df -h | grep hda1 | cut -c40-42)" -ge "80" ]; then
echo Subject: Production Server : Low Disk Space : Daily reporting for Server
fi
我在运行脚本时收到以下错误:
第 6 行: [: : 预期的整数表达式
我想括号内的代码是一个整数,但是,我看不出哪里出错了。请你能告诉我如何解决这个问题吗?
if [ "$( df -h | grep hda1 | cut -c40-42)" -ge "80" ]; then
echo Subject: Production Server : Low Disk Space : Daily reporting for Server
fi
df -h
给出“人类可读”的输出,如 1G 或 73M。这些显然不是整数。尝试省略 -h。您可能需要调整切割间距以匹配。
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
如果您尝试检查使用的百分比。我想,这将是一种更好的实施方式。
很多管道都在...
df -h | awk '/hda1/{sub(/%/,"")}$5>80'
将与 cut|grep|cut|tr 一样工作,而不会增加开销
这对我来说很好用:
[[ $(df -h | grep hda1 | cut -c40-42) -ge 80 ]]
我编辑了你的问题,你错过了fi
,是错字还是错误?