0

マウント ポイントが tmpfs であるかどうかを確認するために、スクリプトに次のブロックがあります。

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

問題は、ファイルシステムが ext2/ext3 として返された場合、シェルがそれを評価しようとし、ゼロ除算で失敗することです。通常の文字列として扱われるように強制するにはどうすればよいですか?

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 に答える