2012-11-12 46 views
0

我正在使用類似於以下的案例聲明: Bash案例條件

Case "$myvar" in 
[aA]) { 
    #dostuff 
};; 
Esac 

我的目標是捕獲包含a或A的輸入字符串的實例,忽略字符串的其餘部分。麻煩的是,給定包含其他內容的輸入(例如,ab),字符串不會被我的case語句捕獲。我相信這個問題是與我的正則表達式實現,但我不知道如何解決它。

回答

6

bash中的case語句使用glob而不是正則表達式。 glob匹配整個字符串。因此,要找到字母「A」的任何實例,您應該這樣做:

case "$myvar" in 
*[aA]*) # do stuff 
    ;; 
esac 
+0

+1請注意,操作中沒有花括號。 – tripleee