2013-04-04 66 views
0

我有一个脚本以下块以验证挂载点是否是tmpfs的如何停止的bash评估串

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

的问题是,如果文件系统返回为ext2/ext3的那么外壳的尝试评估这个结果,并以零为单位倒下。我怎么能强制它被视为一个常规的字符串?

回答

2

请勿使用-ne算术运算符,请使用字符串运算符!=

顺便说一句,您正在运行bash的哪个版本?我得到integer expression expected

+0

是的,明白了......谢谢。 – t0mmyt 2013-04-04 16:05:20

2

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

+0

是的,明白了......谢谢。 – t0mmyt 2013-04-04 16:05:55