在文字模式下从另一个脚本编写bash脚本

时间:2015-03-13 11:28:12

标签: linux bash shell scripting sh

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

2 个答案:

答案 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