csh echo输出字符串中含双引号的转义
专栏:ExASIC Nov. 15, 2025, 6:26 p.m. 5 阅读
csh echo输出的字符串内部带双引号时如何转义?

下面是一个错误的示例,用\"来转义内部双引号,会报错Unmatched ".,说双引号不匹配。

echo "\"abc\""

那正确的应该怎么写呢?

一种方法是:外层双引号改单引号。

echo '"abc"'

但有一个明显的缺点,单引号内不支持变量替换。比如echo '"abc${def}"'只会原样输出。

为了做变量替换,可以分成几段输出,如下:

set def = "^_^"
echo '"abc'${def}'"' 
# 输出:"abc^_^"

还有一种更方便的方法,双引号内部用\000八进制的数字来表示ascii码。这种方法即可以输出双引号,又可以做变量替换。下面是示例:

set def = "^_^"
echo "\042abc${def}\042"
# 输出:"abc^_^"
感谢阅读,更多文章点击这里:【专栏:ExASIC】
最新20篇 开设专栏