我有一个生成文本文件的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
周围的引号,以便正确打印?
答案 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,但它实际上在命令行上创建了三个单独的参数,这些参数是(在解释转义序列之后):
第一种形式是你应该使用的形式。