bash if 文字列の比較

onnga-wasabi 13views 更新:2017年10月12日

bashで文字列を比較する際に詰まったことがあったので。
比較演算子の間にスペースが必要でした。以下の実行すると常にtrueの判定になってしまいます。

if [ "$var"="mojiretu" ]; then

ifの後の[]にもスペースが必要なのにも注意ですね。以下の様にスペースを入れると意図したとおりに動いてくれます。

if [ "$var" = "mojiretu" ]; then

bashは変数の代入の際はスペースを入れると怒られますが、条件分岐、比較演算子等スペースを必要とするものもあります。
意図しないエラーが起こったときはスペースの確認をするのも大切かなと思います。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません