0

我在一个网站上找到了下面的代码。我知道它的作用并理解它,但我无法让它正常工作。当我在 Redhat 6.10 中运行它时,我收到一条错误消息,指出“第 6 行:[: /: integer expression expected”。

当我从终端中的 CURRENT 变量运行 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
4

1 回答 1

0

您可能会使用:

CURRENT=$(df / --output=pcent | tail -n1 | sed 's/%//g')
于 2020-06-03T23:39:24.650 回答