在tcsh中回显嵌套引号

时间:2009-06-05 05:34:05

标签: echo interpolation tcsh quotation-marks

我有一个生成文本文件的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周围的引号,以便正确打印?

1 个答案:

答案 0 :(得分:8)

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“bar
  • bar“':​​etc etc;

第一种形式是你应该使用的形式。