シェルスクリプトでの文字列比較
;; これはヨロシクない例 #!/bin/bash arg=$1 if [ $arg = "hoge" ]; then echo $arg fi
この場合、引数が指定されないと$argがNULLなので、こんなメッセージが出る。
unary operator expected
ので、""で囲む事によって比較する型が合わなくなる事を防ぐそうだ。
;; ""で変数を囲む事 #!/bin/bash arg=$1 if [ "${arg}" = "hoge" ]; then echo $arg fi
見事解決。
シェルスクリプトはファイル処理に強いらしい。そうなると文字列処理に強いと言われるPerlにも目が行くのが人の性(・x・ ).o0○