我有一个我试图调用的脚本需要将$符号传递给它。如果我将脚本作为
运行./script "blah$blah"
它被传递得很好但是然后脚本调用了另一个我无法控制的程序,然后将参数扩展为“blah”。该程序由命令程序$@
调用。我想知道是否有办法防止参数传递到下一个脚本时被扩展。
答案 0 :(得分:5)
$
转义角色\
,例如:"This will not expand \$hello"
'This will not expand $hello'
使用HERE DOC:
<<'EOF'
This will not expand $hello
EOF
在您的情况下,我建议使用单引号以提高可读性:./script 'blah$blah'
。
答案 1 :(得分:2)
使用单引号呼叫:
./script 'blah$blah'
或逃避$
./script "blah\$blah"
答案 2 :(得分:2)
涉及更改报价的几个选项:
./script 'blah$blah'
./script "blah\$blah"
我希望这会有所帮助。