2011-07-25 105 views
2

我有一個腳本,我試圖調用,需要有$符號傳遞給它。如果我運行腳本

./script "blah$blah" 

它以細通過,但隨後的腳本調用其他程序我沒有控制權,然後擴展參數只是「嗒嗒」。該程序正在由命令程序[email protected]調用。我想知道是否有辦法阻止參數在傳遞到下一個腳本時被擴展。

回答

2

一對夫婦涉及更改選項的報價:

./script 'blah$blah' 

./script "blah\$blah" 

我希望這有助於。

+0

接受這個答案是因爲它比第一個更容易理解。 – bschaffer13

5
  • 轉義字符$有:\,如:"This will not expand \$hello"
  • 使用單引號:'This will not expand $hello'
  • 使用HERE DOC

    <<'EOF'
    This will not expand $hello
    EOF

在你的情況我建議使用單引號readabi Lity:./script 'blah$blah'

2

呼叫使用單引號:

./script 'blah$blah' 

或者逃避$

./script "blah\$blah"