在 CentOS(以及更广泛的 shell 脚本语境中)里,反引号(`…`)被称为“旧式命令替换(legacy command substitution)”,它并没有被“强制删除”,但在现代脚本编写中不推荐继续使用,主要原因如下:
反引号嵌套时必须转义:
`echo \`ls\``
而 $(...) 可以自然嵌套:
$(echo $(ls))
在复杂脚本中,$() 明显更易读、更易维护。
反引号 ` 和单引号 ' 在视觉上非常相似,尤其在终端、编辑器、文档中:
echo `date`
echo 'date'
新手很容易写错,导致逻辑错误。
$() 是 POSIX 标准推荐写法POSIX shell 明确推荐使用:
$(command)
而不是反引号。CentOS 使用的 bash / dash 都遵循该标准。
例如:
$() 的行为更一致、更可预测。
在 CentOS 中:
$()反引号没有被“删除”,只是被现代 shell 规范和最佳实践弃用。
✅ 推荐:
now=$(date)
❌ 不推荐:
now=`date`
如果你愿意,我也可以帮你把旧脚本里的反引号批量改成 $(...)。