文字列、ファイル、論理演算子を使った条件式
#09 条件式を評価してみよう (2)
http://dotinstall.com/lessons/basic_shellscript/10609
を参考に
文字列、ファイル、論理演算子を使った条件式
を学習
数値での比較の場合は
-eq とか -ne
文字列の場合は
= で等しい
!= で等しくない
というように、java script などのプログラムと変わらない
次にファイルの比較
-nt
2つのファイルを比較して、どちらが新しいか比較する
-ot
2つのファイルを比較して、どちらが古いか比較する
-e
ファイルが存在するか
-d
ディレクトリなのか判定
ということで、ファイルが存在しているか調べるには
test -e ファイル名 ; echo $?
とすれば、ファイルが存在するなら0
そうでないなら1が返ってくる
例えば
test -e hello.sh ; echo $?
echo $? で0か1を表示している
そして、これらを組み合わせる論理演算しも
シェルスクリプトに存在する
-a
AND
-o
OR
!
NOT
となる
これらを使った例として
1と1が等しく、かつ 2と2 がひとしい
これを書くと
test 1 -eq 1 -a 2 -eq 2 ; echo $?
となる
これは
(1 ==1)&&(2==2)
と同じ意味になる
結果は正常終了なので
0
になる