シェルスクリプトでif文で使用する演算子
主にファイル関係のものを集めました。
if [ -r filename ] ; then
cat filename
else
exit
fi
なんて使います。
で、その演算子を下に書いておきます。
よく忘れるので・・・
ファイル形式のチェック
-b ファイル名 指定したファイルがブロックデバイスファイルなら真である。
-c ファイル名 指定したファイルがキャラクタデバイスファイルなら真である。
-d ファイル名 指定したファイルがディレクトリなら真である。
-f ファイル名 指定したファイルが通常ファイルなら真である。
-L ファイル名 指定したファイルがシンボリックリンクなら真である。
-p ファイル名 指定したファイルが名前付きパイプなら真である。
-S ファイル名 指定したファイルがソケットなら真である。
ファイルパーミッションのチェック
-g ファイル名 指定したファイルにSGIDがセットされていれば真である。
-k ファイル名 指定したファイルにスティッキービットがセットされていれば真である。
-r ファイル名 指定したファイルが読み取り可能なら真である。
-u ファイル名 指定したファイルにSUIDがセットされていれば真である。
-w ファイル名 指定したファイルが書き込み可能なら真である。
-x ファイル名 指定したファイルが実行可能なら真である。
その他のファイルのチェック
-e ファイル名 指定したファイルが存在すれば真である。
-s ファイル名 指定したファイルのファイルサイズが0より大きければ真である。













