停止bash从命令行扩展$

bsc*_*r13 2 bash

我有一个我试图调用的脚本需要将$符号传递给它.如果我运行脚本为

./script "blah$blah" 
Run Code Online (Sandbox Code Playgroud)

它传递得很好,但然后脚本调用另一个我无法控制的程序,然后将参数扩展为"blah".该程序由命令程序调用$@.我想知道是否有办法防止参数传递到下一个脚本时被扩展.

Dor*_*Dor 5

  • $用:逃脱角色\,例如:"This will not expand \$hello"
  • 使用单引号: 'This will not expand $hello'
  • 使用HERE DOC:

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

在您的情况下,我建议使用单引号以便于阅读:./script 'blah$blah'.