0

我在脚本中有以下块来验证挂载点是否为 tmpfs

if [ "$(stat -f -c '%T' $LOGDIR)" -ne 'tmpfs' ]
then
    echo "Log directory ($LOGDIR) must be tmpfs"
    exit 1
fi

问题是,如果文件系统以 ext2/ext3 形式返回,那么 shell 会尝试对其进行评估,然后除以零。如何强制将其视为常规字符串?

4

2 回答 2

2

不要使用-ne算术运算符,使用字符串运算符!=

顺便说一句,bash你运行的是什么版本?我越来越integer expression expected

于 2013-04-04T16:01:08.677 回答
2

用于!=字符串比较;-ne仅用于整数比较。(实际上,我很惊讶它尝试使用“ext2/ext3”进行算术运算,而不是简单地将整个字符串视为零值。)

于 2013-04-04T16:03:27.967 回答