在 CentOS(以及所有类 Unix / Linux 系统)中,反引号(`)用于命令替换(command substitution),它的历史来源其实并不是 CentOS 特有的,而是来自 早期 Unix Shell 的传统。
下面按时间线说明:
`command`
echo "Today is `date`"
这是 Unix 中最早的命令替换方式。
在当时:
CentOS 的 shell 默认是:
所以 CentOS 自然继承了:
`command`
这种写法。
$(command)
示例对比:
echo "User: `whoami`"
echo "User: $(whoami)"
CentOS 中的反引号命令替换,来源于 1970 年代 Unix 的 Bourne Shell,是 Unix 命令替换最早的标准写法,后来被 Linux 和 CentOS 继承,并逐渐由
$( )替代。
如果你愿意,我也可以讲 反引号在脚本中的坑 或 和 $() 的具体区别。