2011-05-24 136 views

回答

4

當測試的grep -q的結果,你想測試$?不grep的輸出,這將是空

at=$(echo "$1" | grep -q "@") 
if [ $? -ne 0 ]; then ... 

或者乾脆

if echo "$1" | grep -q "@"; then ... 

,或者更多的bash-LY

if grep -q "@" <<< "$1"; then ... 

或者,如果不調用grep:

if [[ "$1" == *@* ]]; then ... 

case "$1" in 
    *@*) echo "match" ;; 
    *) echo "no match" ;; 
esac 
+0

當測試grep -q的結果時,您想要測試$? :完全謝謝你的目標,我想我今天學到了一些東西:)特別喜歡「不grep」語法。順便一提,謝謝 – user767990 2011-05-24 16:35:32

3

-ne外部的微小的工作是比較整數。使用!=來比較字符串。

+0

感謝了很多人!它工作正常,但它需要[「$ at」!= 0];感謝您的快速回復:) - – user767990 2011-05-24 15:47:26

相關問題