我有一个生成文本文件的 tcsh 脚本。文本文件中的其中一行是:

bla bla bla 'foo foo foo "bar bar bar"': etc etc;

注意嵌套 '" 还有 :; 那一定在那里。

:; 要求整个字符串用引号括起来。但是,如果我这样做,我就很难逃脱引号。

命令是:

echo "bla bla bla 'foo foo foo "bar bar bar"': etc etc;" >> outfile

我怎样才能逃脱引号 bar bar bar 以便正确打印它们?

有帮助吗?

解决方案

echo "bla bla bla 'foo foo foo "\""bar bar bar"\""': etc etc;"

或这个:

echo "bla bla bla 'foo foo foo "\"bar bar bar\""': etc etc;"

这些应该适用于您给出的简单示例,但可能对您实际尝试做的事情没有帮助......在 tcsh 中引用总是让我很恼火,尤其是在尝试混合使用反引号、引号和双引号来定义别名时。

请注意,第二种形式适用于 echo,但它实际上在命令行上创建了三个单独的参数,它们是(在解释转义序列之后):

  • bla bla bla 'foo foo foo“酒吧
  • 酒吧
  • 酒吧”':等等等等;

您应该使用第一种形式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top