上CLI本身下面的命令作品。爲什麼下面的正則表達式在cli上工作,但不是來自bash腳本?</p> <pre><code>someCall prefix.+([[:digit:]]).postfix </code></pre> <p>但不是在bash腳本:
這個想法是,我想給名字如prefix.1.postfix
或prefix.112.postfix
的文件給程序。
我必須在腳本中更改哪些內容?
編輯: 忘了提到它拋出的錯誤:
syntax error near unexpected token `('
編輯2: 如果我source myScript.sh
源bash腳本,然後它工作: - \
哦,對不起,我的措辭是那麼錯誤。所以它被稱爲globbing。謝謝。 – Michael
我還沒有得到:現在初始問題中的命令有效(請參閱編輯2)。那麼這是現在通配符還是正則表達式? – Michael
@Michael如果shell使用它進行路徑名擴展,它就是globbing;它是用作grep,egrep或其他正則表達式實用程序的參數時的正則表達式。如果我運行一個類似'echo foo(bar)baz'的命令,則在提示符處以及使用該行源文件時,都會收到語法錯誤。有些東西你沒有告訴我們。 – Jens