如何在 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 中工作。 (\42
是 octal 中 ASCII 值为 42 的字符。)【参考方案2】:
你可以用单引号把双引号括起来:
echo '"'hola'"'
或者整个文本,包括双引号:
echo '"hola"'
【讨论】:
感谢支持,效果很好 虽然这会起作用,但它不会插入变量 您不会将参数扩展放在单引号内,但您也必须引用它们。这种方法很快就会变得难以理解:例如,echo '"'"$string"'"'
以上是关于如何在 Bash 中转义双引号? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PHP 的 mysqli_query() 中转义双引号字符?