regex="\{foo"; string="{foo"; [[ $string =~ $regex ]] && echo "true"
これは、Bash 3.x および 4.x で機能する bash スクリプトです。「\」を削除すると、Bash 4.x で機能しなくなります。この動作は予期されたものですか、それともバグですか? regex(7) のマニュアル ページでは、エスケープは不要であることが示唆されています。正規表現の他のフレーバーでは、中かっこをエスケープする必要がありますか?