シェルスクリプト入門 testコマンドリファレンス



テストコマンド 一覧

シェルスクリプトでファイルが存在してるか等を確かめるのにつかえる。

-b ファイル ファイルがブロック特殊ファイルのとき真。
-c ファイル ファイルがキャラクタ特殊ファイルのとき真。
-d ファイル ファイルがディレクトリのとき真。
-e ファイル 指定したファイルが存在するとき真。
-f ファイル ファイルがノーマルファイルのとき真。
-g ファイル ファイルのセットGIDビットが立っているとき真。
-h ファイル ファイルがシンボリックリンクのとき真。
-k ファイル ファイルのstickyビットが立っているとき真。
-L ファイル ファイルがシンボリックリンクのとき真。
-p ファイル ファイルが名前付きパイプ(FIFO)のとき真。
-r ファイル ファイルが読み出し可能のとき真。
-s ファイル ファイルの長さが1バイト以上あるとき真。
-t [u] ファイルのディスクリプタn(指定しなければ1) が端末につながっているとき真。
-u ファイル ファイルのセットUIDビットが立っているとき真。
-w ファイル ファイルが書き込み可能のとき真。
-x ファイル ファイルが実行可能のとき真。
-a 2つの条件評価式の論理積(and)をとる
-o 2つの条件評価式の論理和(or)をとる

サンプル

 #!/bin/sh
 
 if [ -d ${HOME}/temp ] ; then
  mkdir ${HOME}/temp
 fi 

例. tmpに書き込めるか確かめる(wrが立ってるか見る)

 #!/bin/sh
 
 if [ -w /tmp/ -a -x /tmp/ ]; then
   echo writable
 else
   echo not writable
 fi

参考文献

詳解 シェルスクリプト 入門bash 第3版 bashクックブック

Comments are closed.