[Linux][bash] 条件判断と演算子

テーマ:
ひさびさに。
しっかしbashなのにテーマlinuxにいれて結構記事も増えてきてあれだな。
最初bashのことこんなに書くつもりなかったからlinuxにまとめちゃったんだけど。

とりあえずtestコマンドで条件判断できるよ!
result countで結果みてみる。
$ test "foo" == "foo";echo $?
0
$ test "foo" == "bar";echo $?
1

こうなります。
こうともいうね。
$ test "foo" != "bar";echo $?
0


数値の大小比較はどうしよう。>とか使うとファイルできちゃうしね。
数値比較の場合はtestコマンドのオプションで表現できる。
$ test 10 -eq 10;echo $?
0
$ test 10 -ne 10;echo $?
1
$ test 10 -gt 5;echo $?
0
$ test 10 -lt 5;echo $?
1
$ test 10 -ge 10;echo $?
0
$ test 10 -le 10;echo $?
0


ということで==と-eqは違う。
$ test 10 == 10;echo $?
0
$ test 10 -eq 10;echo $?
0
$ test "hoge" == "hoge";echo $?
0
$ test "hoge" -eq "hoge";echo $?
-bash: test: hoge: integer expression expected
2

bashの変数は基本文字列だってことがよくわかる。

もちろん論理和とか論理積もつかえる。
$ test 1 == 1 -a 2 == 4;echo $?
1
$ test 1 == 1 -o 2 == 4;echo $?
0
$ test ! 1 == 1 -o 2 == 4;echo $?
1


ちょっとひさびさだし今日は眠いのでこのくらいで。
しっかしlivedoorのIRCサーバ提供はかっこいいね。
現実がどうあれ、事業判断ってところに収益と顧客満足度しかものさしがないとすれば
哀しいと思うんだ。やっぱり。
AD