2013-04-04 40 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