[英]How to test for leading hyphen in bash script conditional using regex
不再有連字符時,此代碼似乎沒有停止……我在做什么錯?
hortense$ if [[ $BFILE =~ ^[-]* ]] ; then BFILE=${BFILE:1} ; fi
hortense$ echo $BFILE
Atbari
hortense$ if [[ $BFILE =~ ^[-]* ]] ; then BFILE=${BFILE:1} ; fi
hortense$ echo $BFILE
tbari
模式^[-]*
表示從0或多個-
。 所以它匹配,即使沒有-
在所有。
將*
更改為+
,要求至少一個-
。
另外,除了[-]
您還可以簡單地編寫-
。
放在一起:
if [[ $BFILE =~ ^-+ ]] ; then BFILE=${BFILE:1} ; fi
當然,您可以完全跳過正則表達式:
if [[ ${BFILE:0:1} == - ]] ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.