我找到了一個很好的answer,它解釋瞭如何從字符串變量中刪除指定的模式。在這種情況下,刪除「富」我們使用以下命令:從bash中的字符串中刪除指定的字符串模式
string="fooSTUFF"
string="${string#foo}"
不過,我想補充的「OR」功能,將能夠在情況下,當刪除「富」或「噓」我的字符串以其中的任何一個開頭,如果它不以'foo'或'boo'開頭,則保持字符串不變。所以,修改後的腳本應該看起來像這樣:
string="fooSTUFF"
string="${string#(foo OR boo)}"
這怎麼能正確實施?
感謝您參考手冊。你能否就「(與shopt -s extglob有關)」問題擴展你的答案?應該放在劇本中的哪個位置?我需要在某個時候禁用它嗎?怎麼做? – Nazar
@Naz'shopt -s extglob'命令必須在使用'@(...)'模式之前的任何時候發出。保持打開狀態不會受到傷害,但是如果您想明確地關閉它,只需發出'shopt -u extglob'。請注意,對於'[[$ var = pattern]]'條件,自動啓用擴展宏。有關'shopt'命令的更多信息,請參見[手冊](https://www.gnu.org/software/bash/manual/bashref.html#The-Shopt-Builtin)。 –