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

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

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

但是还有其他方法吗?

【问题讨论】:

  • echo 'this is a "number"'?

标签: bash


【解决方案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"'"'
猜你喜欢
  • 2018-10-19
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 2019-12-13
  • 2016-07-10
  • 1970-01-01
相关资源
最近更新 更多