在 CentOS(以及绝大多数 Linux/Unix Shell) 里,反引号 ` 并不是 CentOS 本身的特性,而是 Shell(通常是 bash) 提供的功能,用来做 命令替换(Command Substitution)。
反引号的作用是:
先把反引号里的内容当作命令执行,然后把命令的输出结果替换到原来位置
echo "当前时间是: `date`"
执行过程:
datedate 的输出(如 2026-01-15 10:30:00)替换到原位置echo "当前时间是: 2026-01-15 10:30:00"
CentOS 默认使用 bash,而反引号是 传统 sh / bash 支持的语法,因此:
$()(更推荐)反引号本质上和 $() 是一样的功能:
echo "当前时间是: $(date)"
✅ 推荐用 $() 的原因:
| 对比项 | 反引号 `cmd` |
$() |
|---|---|---|
| 可读性 | 差 | 好 |
| 嵌套 | 困难 | 容易 |
| 现代 Shell 推荐 | 否 | ✅ 是 |
❌ 反引号(难读):
echo `echo \`date\``
✅ $()(清晰):
echo $(echo $(date))
历史兼容性
$()系统脚本习惯
/etc/init.d/* 脚本写于 10 年前书写简单(短脚本)
✅ 可以用,但不推荐新代码使用
$()CentOS 用反引号不是因为它特殊,而是因为 bash 支持命令替换;反引号是老语法,功能等同于
$(),但可读性更差,现代脚本应优先使用$()。
如果你愿意,我也可以帮你:
$()