在变量中编写代码(使用特殊字符,如 \ 或 ")



我有一个创建其他脚本的脚本(init.sh)。因此,在init.sh中,我想拥有包含其他脚本的变量。我使用read -d来做到这一点:

read -d '' script <<"EOF"
# Some code
sed -i "/PARALLEL_MAKE = "-j 16"/cPARALLEL_MAKE = "-j $threads"" conf/local.conf
# Some code
EOF
echo "${script}" > script.sh

如您所见,我使用"的命令。但是,在运行init.sh后,在script.sh中,我有相应的行:

sed -i "/PARALLEL_MAKE = "-j 16"/cPARALLEL_MAKE = "-j $threads"" conf/local.conf

不存在。

我可以尝试逃脱特殊的炭,取消大量。但是我的代码段非常大,在其他情况下使用(带有简单的复制纸),所以我不想这样做。

我也可以将它们放入其他文件中,但我不能。我想按照描述 - 如果可能的话。

您需要read -r来抑制后斜线逃脱。

相关内容

  • 没有找到相关文章

最新更新