如何在bash中转义双引号?

neo*_*o33 -1 bash

我想在 bash 中转义双引号,我遵循了以下方法:

#!/bin/bash
this is a  \"number\"!
Run Code Online (Sandbox Code Playgroud)

但我需要知道是否有另一种方式。

Dir*_*ann 6

您可以将双引号括在单引号中:

echo '"'hola'"'
Run Code Online (Sandbox Code Playgroud)

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

echo '"hola"'
Run Code Online (Sandbox Code Playgroud)


Cyr*_*rus 5

使用 GNU bash:

echo -e "this is a \x22number\x22"
Run Code Online (Sandbox Code Playgroud)

输出:

这是一个“数字”

  • 更好的是,`printf "this is a \42number\42\n"`,它可以在任何兼容 POSIX 的 shell 中工作。(`\42` 是 *octal* 中 ASCII 值为 42 的字符。) (2认同)