test文 シェルスクリプトサンプル

UNIXサーバ構築 OnTheVMware

unixコマンドについて使用例を用いて解説
HOME > シェルスクリプトサンプル >

test文 シェルスクリプトサンプル

test文 シェルスクリプトサンプル


スポンサードリンク


【説明】
testコマンドは、条件によって処理の流れを分岐させたいときなどに使用します。
以下に比較文を書く際の形式について紹介します。

ファイル形式のチェック
-b ファイル名 指定したファイルがブロックデバイスファイルなら真である。
-c ファイル名 指定したファイルがキャラクタデバイスファイルなら真である。
-d ファイル名 指定したファイルがディレクトリなら真である。
-f ファイル名 指定したファイルが通常ファイルなら真である。
-L ファイル名 指定したファイルがシンボリックリンクなら真である。
-p ファイル名 指定したファイルが名前付きパイプなら真である。
-S ファイル名 指定したファイルがソケットなら真である。

ファイルパーミッションのチェック
-g ファイル名 指定したファイルにSGIDがセットされていれば真である。
-k ファイル名 指定したファイルにスティッキービットがセットされていれば真である。
-r ファイル名 指定したファイルが読み取り可能なら真である。
-u ファイル名 指定したファイルにSUIDがセットされていれば真である。
-w ファイル名 指定したファイルが書き込み可能なら真である。
-x ファイル名 指定したファイルが実行可能なら真である。

その他のファイルのチェック
-e ファイル名 指定したファイルが存在すれば真である。
-s ファイル名 指定したファイルのファイルサイズが0より大きければ真である。

文字列のチェック
-n 文字列 文字列の長さが0より大きければ真である。
-z 文字列 文字列の長さが0であれば真である。
文字列1 = 文字列2 2つの文字列が等しければ真である。
文字列1 != 文字列2 2つの文字列が等しくなければ真である。

数値のチェック
数値1 -eq 数値2 2つの数値が等しければ真である。
数値1 -ge 数値2 数値1が数値2以上であれば真である。
数値1 -gt 数値2 数値1が数値2より大きいのであれば真である。
数値1 -le 数値2 数値1が数値2以下であれば真である。
数値1 -lt 数値2 数値1が数値2未満であれば真である。
数値1 -ne 数値2 2つの数値が等しくなければ真である。

論理結合
!条件 条件が偽であれば真である。
条件1 -a 条件2 条件1と条件2の両方が真であれば真である。
条件1 -o 条件2 条件1と条件2のどちらかが真であれば真である。


例) test文を使ったシェルスクリプトサンプル。test.txtファイルが存在し、かつサイズが0より大きいかどうかを判定する。
[root@localhost ~]# ls -l test.txt
-rw-r--r-- 1 test test 20 6月 17 07:59 test.txt
[root@localhost ~]# cat test.sh
#!/bin/sh

if test -f test.txt -a -s test.txt ; then

echo true
else

echo fales
fi

[root@localhost ~]# ./test.sh
true
lsコマンドの詳細を見る
catコマンドの詳細を見る


スポンサードリンク
 HOME / 免責事項 / サイトマップ /  問い合わせ
Copyright (C) 2008  UNIXサーバ構築 OnTheVMware  All rights reserved





スポンサードリンク