在 CentOS(以及大多数 Linux Shell,如 bash)中,反引号 ` 的作用是 命令替换(Command Substitution),也就是:
先执行反引号里的命令,把它的输出结果替换到当前位置。
`命令`
echo "今天是 `date`"
输出类似:
今天是 Thu Jan 25 10:30:00 CST 2026
now=`date`
echo $now
echo "当前目录文件数: `ls | wc -l`"
$()(推荐)反引号和 $() 功能一样,但 推荐使用 $(),因为:
| 反引号 | 推荐写法 |
|---|---|
date |
$(date) |
echo `ls` |
echo $(ls) |
echo `echo \`date\ `` |
echo $(echo $(date)) |
✅ CentOS 中 $() 更常用、更安全
files=$(ls)
echo "$files"
if [ `whoami` = "root" ]; then
echo "你是 root"
fi
✅ 更推荐:
if [ $(whoami) = "root" ]; then
echo "你是 root"
fi
cd /tmp/`date +%Y%m%d`
echo `echo \`date\``
✅ 用 $() 更清晰:
echo $(echo $(date))
echo "`ls *`" # 可能出问题
✅ 反引号作用:执行命令并替换结果
✅ CentOS 中仍然支持,但推荐 $()
✅ 脚本、自动化、条件判断中非常常用
如果你愿意,我也可以帮你: