bash 文字列比較の注意

bashの文字列比較

スペースなしの文字列

# a="1234"
# b="1234"
# if [ $a = $b ]; then echo OK; fi
OK
# if [ "$a" = "$b" ]; then echo OK; fi
OK

スペースがある文字列の場合

# a="1234 fd"
# b="1234 fd"
# if [ $a = $b ]; then echo OK; fi
-bash: [: too many arguments
# if [ "$a" = "$b" ]; then echo OK; fi
OK

結論

文字列比較の時は、変数を””で括ったほうがよさげ。