string=123456
if [ $string == 123456 ]; then
echo 123
fi
これはうまくいきますが、==を=~に変更すると、次のエラーが発生します。
./test: line 3: [: =~: binary operator expected
答え1
吹く~の正規表現一致は二重括弧内でのみ機能します[[ ... ]]
。
string=123456
if [[ "$string" =~ 123456 ]]; then echo 123; fi
123