0

二項演算子を使用して正規表現力を使用しようとしましたが、

   [[ wwwebhost@all =~ "^.+@.+$" ]]

bash 4.2 では機能せず、bash 3.2 では機能します

しかし、これはbash 4.2で機能します(二重引用符を削除してください):

   [[ wwwebhost@all =~ ^.+@.+$ ]]

誰でもこれを説明できますか?

4

1 に答える 1

1

=~bash 4 (実際にはこれは 3.2 で追加されたと思っていましたが、そうではないかもしれません) 内のor==演算子の右側にある引用符[[...正規表現マッチングではなく、単純な文字列比較を行うように]]指示します。bashこれは、明示的な「ねえ、正規表現の一致を実行してください!」には当てはまらないと思うかもしれません。演算子=~ですが、そうです。

于 2012-11-19T22:45:18.003 に答える