我有一个脚本以下块以验证挂载点是否是tmpfs的如何停止的bash评估串
if [ "$(stat -f -c '%T' $LOGDIR)" -ne 'tmpfs' ]
then
echo "Log directory ($LOGDIR) must be tmpfs"
exit 1
fi
的问题是,如果文件系统返回为ext2/ext3的那么外壳的尝试评估这个结果,并以零为单位倒下。我怎么能强制它被视为一个常规的字符串?
我有一个脚本以下块以验证挂载点是否是tmpfs的如何停止的bash评估串
if [ "$(stat -f -c '%T' $LOGDIR)" -ne 'tmpfs' ]
then
echo "Log directory ($LOGDIR) must be tmpfs"
exit 1
fi
的问题是,如果文件系统返回为ext2/ext3的那么外壳的尝试评估这个结果,并以零为单位倒下。我怎么能强制它被视为一个常规的字符串?
请勿使用-ne
算术运算符,请使用字符串运算符!=
。
顺便说一句,您正在运行bash
的哪个版本?我得到integer expression expected
。
使用!=
进行字符串比较; -ne
仅用于整数比较。 (其实,我很惊讶它试图使用“ext2/ext3”来进行算术,而不是简单地将整个字符串视为零值。)
是的,明白了......谢谢。 – t0mmyt 2013-04-04 16:05:55
是的,明白了......谢谢。 – t0mmyt 2013-04-04 16:05:20