在 CentOS(以及所有 Linux / Unix Shell) 中,反引号(` `,键盘上数字 1 左边那个键) 主要用于 命令替换(Command Substitution)。
反引号用来 先执行里面的命令,再把结果替换回去。
`命令`
echo "今天是 `date`"
等价于:
echo "今天是 $(date)"
now=`date`
echo $now
files=`ls`
echo "文件列表:$files"
if [ `whoami` = "root" ]; then
echo "你是 root 用户"
fi
echo `echo \`pwd\``
$()(重点)✅ 推荐用 $(),可读性更好,支持嵌套。
| 写法 | 说明 |
|---|---|
`命令` |
老式写法 |
$(命令) |
新式写法(推荐) |
# 不推荐
echo "IP: `hostname -I`"
# 推荐
echo "IP: $(hostname -I)"
CentOS 默认一般是:
/bin/bash/bin/sh✅ 反引号和 $() 在 bash / sh 中都支持
❌ 反引号里不要再随意加空格:
echo ` date ` # 可能报错或行为异常
❌ 反引号不是单引号:
' ' 单引号:原样输出` ` 反引号:执行命令在 CentOS 里,反引号用来“执行命令并替换结果”,但现在更推荐用
$(命令)。
如果你是 写 shell 脚本 / 定时任务 / 运维自动化,我可以给你一些 CentOS 实战例子。