3层嵌套报价(bash)

时间:2017-09-10 09:10:08

标签: bash shell sh quotes quoting

Exuse:我知道有很多关于嵌套引号的问题,但我找到的答案对于我无法应用它们的问题非常具体。

我需要使用多个嵌套bash命令。前两层是

x-terminal-emulator -e "bash -c \"COMMAND1; COMMAND2; exec bash \""

打开终端并在其中运行多个bash命令。 对于COMMAND1,我想通过read VAR为变量赋值。在COMMAND2中,我想用具有变量值的文件替换表达式。由于sed -i 's#EXPRESSION#$VAR#' ~/Desktop/edit需要第三层引号,因此唯一的选择是取消单引号,但这当然会忽略该变量。 我尝试了很多东西,但结果始终是表达式被替换为''或者使用' $ VAR'或者使用' VAR'。

我请求帮助,因为我真的不知道在这里要改变什么。我非常感谢任何帮助!

TL; DR: 如果这是错误的,我如何正确地用这里的用户输入替换EXPRESSION:

x-terminal-emulator -e "bash -c \"read VAR; sed -i 's#EXPRESSION#$VAR#' ~/Desktop/edit; exec bash \""

0 个答案:

没有答案