csh echo输出字符串中含双引号的转义
csh echo输出的字符串内部带双引号时如何转义?

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

echo "\"abc\""

那正确的应该怎么写呢?

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

echo '"abc"'

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

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

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

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

set def = "^_^"
echo "\042abc${def}\042"
# 输出:"abc^_^"
感谢阅读,更多文章点击这里:【专栏:ExASIC】
公众号:ExASIC
分享数字集成电路设计中的经验和方法。分享让工作更轻松。
公众号二维码
留言(0)
还没有留言,来说两句吧。
留言需要 登录 或 注册(注册后需通过邮箱验证)。
相关文章