我正在研究 bash shell 腳本。
var="this is a test"; echo ${var#t?st}
或者
var="this is a test"; echo ${var#test}
結果
this is a test
我知道 hashnet 會洗掉最短或最長的匹配字串。如果模式是'test',那么單詞'test'匹配,所以最短或最長的匹配應該是'test',所以我認為結果應該是'this is a'。
但結果是this is a test。這意味著模式根本不匹配。你能解釋一下為什么會這樣嗎?
uj5u.com熱心網友回復:
#從字串的開頭%洗掉,從結尾洗掉。
echo "${var%t?st}" # This is a
echo "${var#[Tt]his }" # is a test
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491452.html
上一篇:將多個目錄中的多個檔案從服務器復制到本地,檔案進入與服務器同名的目錄
下一篇:布爾狀態變數更改導致父組件消失?
