停止从命令行$扩展$ bash

停止从命令行$扩展$ bash

问题描述:

我有一个脚本,我试图调用,需要有$符号传递给它。如果我运行脚本

./script "blah$blah" 

它以细通过,但随后的脚本调用其他程序我没有控制权,然后扩展参数只是“嗒嗒”。该程序正在由命令程序[email protected]调用。我想知道是否有办法阻止参数在传递到下一个脚本时被扩展。

一对夫妇涉及更改选项的报价:

./script 'blah$blah' 

./script "blah\$blah" 

我希望这有助于。

+0

接受这个答案是因为它比第一个更容易理解。 – bschaffer13

  • 转义字符$有:\,如:"This will not expand \$hello"
  • 使用单引号:'This will not expand $hello'
  • 使用HERE DOC

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

在你的情况我建议使用单引号readabi Lity:./script 'blah$blah'

呼叫使用单引号:

./script 'blah$blah' 

或者逃避$

./script "blah\$blah"