シェルスクリプトでif 文 その2

シェルスクリプトでif 文
が長文になりそうなので
わけてみました
それでは、条件式のメモの続きです

num1 -gt num2

これは num1 が num2 より大きければ、という意味です
つまり
num1 > num2
というかんじです
もちろん、逆パターンもあります
それが
num1 -lt num2
です
これは num1 が num2 より小さいなら、となります
num1 < num2
というかんじです
ここまでが比較関連になります
これからが、ファイル検索などになります
-d ディレクトリのパス
ディレクトリが存在しているなら
という意味になります
if [ -f /home/backup ]
としたなら
/home/backup
が存在していれば、という意味になりますし
if [ -f $1 ]
なら引数に入力したディレクトリが存在しているなら
という意味になります
シェルスクリプトなどで使いまわす場合、
基本的にはファイル名や絶対パスを記述してしまうより
$1 など、引数を指定したほうが、あとあと使うときに修正せずにすみます
-e ファイルのパス
ファイルが存在しているなら、という意味になります
if [ -e $1 ]
$1 に入力したファイルが存在しているなら、という意味になります
仮に、/home/wiki/testfile
と入力した場合、
/home/wiki/testfile が存在しているならば、という意味になります
-r ファイルのパス
これは、ファイルが存在し、読み取り可能なら
という意味です
rは。readからきていると思われます
-w ファイルのパス
これも似たようなもので、
ファイルが存在し、書き込み可能なら
という意味になります
-a
たぶん、一番わかりにくいです
これは、論理式のANDと同じ意味です
C, java でいう && というものです
使い方としては
if [ -r $1 -a -w $1 ]
のように使うようです
これは
if [ $1が読み取り可能 && $1 が書き込み可能 ]
という意味になります
つまり、読み書き可能ファイルであれば
という意味になります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です