Bash
從 shell 腳本獲取完整執行的命令
我有一個腳本,它接受一個 URL 作為它的參數之一
所以可以這樣評價
script1 url -arg1 1
但 URL 可能包含
&
,所以它被解釋為這樣
script1 & brokenCommand -arg1 1
我希望能夠
brokenCommand -arg1 1
從script1
可能嗎?(無需在引號內輸入網址)
不,這是不可能的。如果您的環境是
bash
,則必須遵循 bash 規則。在 bash 中,某些字元具有特殊含義,如果您想避免這種情況,您需要\
使用引號或引號將它們轉義。如果您想要更使用者友好的東西,也許您應該選擇其他環境。在 bash 腳本中使用
read
就足夠了。然而,當你開始把事情複雜化時,你會意識到使用引號並不是那麼麻煩。