2012-11-14 70 views
0

我嘗試使用二進制運算符使用regexpression功率,如何使用二進制運算符在bash 4.2

[[ [email protected] =~ "^[email protected]+$" ]] 

不要在bash 4.2工作,並在bash 3.2

工作,但這個工作在bash 4.2 (刪除雙引號):

[[ [email protected] =~ ^[email protected]+$ ]] 

任何人都可以解釋這一點嗎?

+0

[爲什麼不執行引號刪除\ [\ [... \] \]之間可能的重複?](http://stackoverflow.com/questions/9644663/why-quote-removal-isnt-performed -between) – kev

回答

1

在bash 4(其實我覺得這是在3.2加入,但也許不是)裏面[[一個=~==運營商的右側引號... ]]告訴bash做簡單的字符串比較,而不是正則表達式匹配。你可能會認爲這不是明確的「嘿,做一個正則表達式匹配!」運營商=~,但它是。

+0

是的!非常感謝你的回答。 – Chinaxing

相關問題