echo tcsh 中的嵌套引号
-
11-09-2019 - |
题
我有一个生成文本文件的 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“酒吧
- 酒吧
- 酒吧”':等等等等;
您应该使用第一种形式。
不隶属于 StackOverflow