Bash

從 shell 腳本獲取完整執行的命令

  • November 29, 2020

我有一個腳本,它接受一個 URL 作為它的參數之一

所以可以這樣評價

script1 url -arg1 1

但 URL 可能包含 & ,所以它被解釋為這樣

script1 & brokenCommand -arg1 1

我希望能夠brokenCommand -arg1 1script1

可能嗎?(無需在引號內輸入網址)

不,這是不可能的。如果您的環境是bash,則必須遵循 bash 規則。在 bash 中,某些字元具有特殊含義,如果您想避免這種情況,您需要\使用引號或引號將它們轉義。

如果您想要更使用者友好的東西,也許您應該選擇其他環境。在 bash 腳本中使用read就足夠了。然而,當你開始把事情複雜化時,你會意識到使用引號並不是那麼麻煩。

引用自:https://unix.stackexchange.com/questions/621949