我有一個腳本以下塊以驗證掛載點是否是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