如何在 Bash 中转义双引号? [复制]

Posted

技术标签:

【中文标题】如何在 Bash 中转义双引号? [复制]【英文标题】:How can I escape double quotes in Bash? [duplicate] 【发布时间】:2016-06-05 19:50:06 【问题描述】:

我想在 Bash 中转义双引号。我遵循以下方法:

#!/bin/bash
this is a  \"number\"!

但是还有其他方法吗?

【问题讨论】:

echo 'this is a "number"'? 【参考方案1】:

使用 GNU Bash:

echo -e "this is a \x22number\x22"

输出:

这是一个“数字”

【讨论】:

更好的是,printf "this is a \42number\42\n",它可以在任何 POSIX 兼容的 shell 中工作。 (\42octal 中 ASCII 值为 42 的字符。)【参考方案2】:

你可以用单引号把双引号括起来:

echo '"'hola'"'

或者整个文本,包括双引号:

echo '"hola"'

【讨论】:

感谢支持,效果很好 虽然这会起作用,但它不会插入变量 您不会将参数扩展放在单引号内,但您也必须引用它们。这种方法很快就会变得难以理解:例如,echo '"'"$string"'"'

以上是关于如何在 Bash 中转义双引号? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在标题属性中转义双引号

如何在nmake中转义双引号

如何在 PHP 的 mysqli_query() 中转义双引号字符?

如何在包含变量的逐字字符串中转义双引号

如何在 T-SQL 中的 XML 字符串中的属性中转义双引号?

我可以在逐字字符串文字中转义双引号吗?