我在一个网站上找到了下面的代码。 我知道它是做什么的,也明白它的作用,但我不能让它正确工作。 当我在Redhat 6.10中运行它时,我得到一个错误信息:"第6行。[: :期待整数表达式"。
当我在终端的 CURRENT 变量中运行 df 代码时,它的输出是 "21"。 当我在脚本中运行 df 代码时,它输出的是 "21"。
我想让它做的是,如果""目录超过 50%,就给我发电子邮件。 有什么想法,为什么df部分的代码在终端中可以工作,而在脚本中却不行?
#!/bin/bash
CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
THRESHOLD=50
if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
mail -s 'Disk Space Alert' E-MAIL REMOVED << EOF
Your root partition remaining free space is critically low. Used: $CURRENT%
EOF
fi
你可以使用:
CURRENT=$(df / --output=pcent | tail -n1 | sed 's/%//g')