簡體   English   中英

如何使用正則表達式在bash腳本中測試前置連字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM