开发者

Trying to test space in filesystem on Unix

I need to check if I Filesystem exists, and if it does exist there is 300 MB of space in it.

What I have so far:

if [ "$(df -m /opt/IBM | grep -vE '^Filesystem' | awk '{print ($3)}')" < "300" ]
then
echo "not enough space in the target filesystem"
exit 1
fi

This throws an error. I don't really kn开发者_JAVA百科ow what I'm doing in shell.

My highest priority is AIX but I'm trying to get it to work for HP and Sun too.

Please help.

-Alex


Here is the code I got working.

if [ "$(df -m /opt/IBM/ITM | awk 'NR==2{print ($3)}')" -lt "300" ]
then
    echo "not enough space in the target filesystem"
    exit 1
fi


How about posting the error? Anyway, try the following syntax, ie. double brackets and no double quotes:

if [[ $(...) < 300 ]]; then
    ...
fi

From man bash:

[[ expression ]]

Return a status of 0 or 1 depending on the evaluation of the conditional expression expression.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜