停止bash从命令行扩展$

停止bash从命令行扩展$,bash,Bash,我试图调用一个脚本,它需要将$symbol传递给它。如果我以 ./script "blah$blah" 它被很好地传入,但是脚本调用了另一个我无法控制的程序,然后将参数扩展为“blah”。命令程序$@正在调用该程序。我想知道是否有一种方法可以防止参数在传递到下一个脚本时被扩展 将字符$转义为:\,例如:“这不会展开\$hello” 使用单引号:“这不会扩展$hello” 使用: 使用单引号调用: ./script 'blah$blah' 或者退出$ ./script "blah\$bla

我试图调用一个脚本,它需要将$symbol传递给它。如果我以

./script "blah$blah" 
它被很好地传入,但是脚本调用了另一个我无法控制的程序,然后将参数扩展为“blah”。命令程序
$@
正在调用该程序。我想知道是否有一种方法可以防止参数在传递到下一个脚本时被扩展

  • 将字符
    $
    转义为:
    \
    ,例如:
    “这不会展开\$hello”
  • 使用单引号:
    “这不会扩展$hello”
  • 使用:


    使用单引号调用:

    ./script 'blah$blah'
    
    或者退出
    $

    ./script "blah\$blah"
    

    涉及更改报价的两个选项:

    ./script 'blah$blah'
    
    ./script "blah\$blah"
    

    我希望这能有所帮助。

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