停止从命令行$扩展$ bash
问题描述:
我有一个脚本,我试图调用,需要有$符号传递给它。如果我运行脚本
./script "blah$blah"
它以细通过,但随后的脚本调用其他程序我没有控制权,然后扩展参数只是“嗒嗒”。该程序正在由命令程序[email protected]
调用。我想知道是否有办法阻止参数在传递到下一个脚本时被扩展。
答
一对夫妇涉及更改选项的报价:
./script 'blah$blah'
./script "blah\$blah"
我希望这有助于。
答
- 转义字符
$
有:\
,如:"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"
接受这个答案是因为它比第一个更容易理解。 – bschaffer13