在bash
脚本中,我创建了另一个bash
脚本来启动程序:
$optionsfile="options.conf"
tee "launch-script.sh" > /dev/null <<EOF
#!/bin/bash
bash $binFile `cat $optionsfile` &
EOF
我希望输出脚本launch-script.sh
如下:
#!/bin/bash
bash $binFile `cat options.conf` &
所以我想让脚本扩展$optionsfile
但不要执行cat
命令。
现在我得到了:
#!/bin/bash
bash $binFile -ops1 -ops2 -ops3 &
有可能实现这一目标吗?我做错了什么?
修改
到目前为止使用答案和评论我发现更好的解决方案是使用转义:
$optionsfile="options.conf"
tee "launch-script.sh" > /dev/null <<EOF
#!/bin/bash
bash $binFile \$(< $optionsfile) &
EOF
答案 0 :(得分:3)
使用反斜杠来防止插值:
tee "launch-script.sh" > /dev/null <<EOF
#!/bin/bash
bash \$binFile \`cat $optionsfile\` &
EOF
答案 1 :(得分:2)
正常逃避是否正常工作?
tee "launch-script.sh" > /dev/null <<EOF
#!/bin/bash
bash \$binFile \`cat $optionsfile\` &
EOF