温馨提示×

centos反引号如何转义

小樊
41
2026-09-03 07:16:32
栏目: 智能运维

在 CentOS(以及一般的 Linux shell,如 bash)中,反引号(`) 用于命令替换(等同于 $(...))。如果你只是想把反引号当成普通字符显示或传递,就需要“转义”。

下面按常见场景说明。


1. 在双引号中 " 转义反引号

在双引号里,反引号仍然会被解释成命令替换,需要加 \

echo "当前目录是 \`pwd\`"

输出:

当前目录是 `pwd`

2. 在单引号中 ' 不需要转义

单引号里所有字符都是字面量,反引号不会被解释:

echo '当前目录是 `pwd`'

输出:

当前目录是 `pwd`

最推荐的方式


3. 在命令替换中嵌套反引号(不推荐)

旧式写法:

echo `echo \`date\``

现代推荐写法(清晰、不用转义):

echo "$(echo "$(date)")"

4. 在脚本变量中保存反引号

str='使用 ` 包裹命令'
echo "$str"

或:

str="使用 \` 包裹命令"
echo "$str"

5. 在 sed / awk 中

如果反引号出现在 sed 里:

sed 's/`/\\`/g' file.txt

总结

场景 是否需转义
单引号 ' ❌ 不需要
双引号 " ✅ 需要 \
$() 替代反引号 ✅ 最佳实践

如果你有具体命令或脚本片段,可以直接贴出来,我可以帮你精确改。

0