单引号和双引号的行为取决于 shell

单引号和双引号的行为取决于 shell

我已经为此挠头好一阵子了......

灵感来自这个答案,我正在尝试运行“ack”并在源文件中查找单引号或双引号。

这样做在巴什完美运作: ack --cpp "['\"]"

但在做同样的事tcsh给我:Unmatched ".

我尝试过的替代方案之一是本质上交换单引号和双引号,从而导致ack --cpp '[\'"]'.但我仍然得到同样的结果Unmatched ".

无论我如何尝试,我似乎都无法在 tcsh 中获得所需的行为。有什么建议 ?

答案1

戴夫汤普森-085的评论:

tcsh 将双引号中的反斜杠视为数据。使用"['"\"]或(大锤)\[\'\"]

钢铁起子的评论:

"['\"]"如果设置了 backslash_quote 变量,则似乎可以在 tcsh 6.20.00 中工作

相关内容