在 CentOS(以及所有 Linux / Unix shell 环境中),反引号(`) 是用于 命令替换(command substitution) 的符号。
反引号就是键盘上数字 1 左边、Esc 下方的那个键(通常在 ~ 左边):
`
把命令的执行结果替换到当前位置。
示例:
echo "今天是 `date`"
等价于:
echo "今天是 $(date)"
执行后会输出类似:
今天是 Thu Jun 20 10:00:00 CST 2024
| 写法 | 说明 |
|---|---|
`command` |
老写法,所有 shell 都支持 |
$(command) |
新写法,推荐,可读性好,支持嵌套 |
嵌套示例(反引号不直观):
echo `echo \`date\``
推荐写法:
echo $(echo $(date))
now=`date +%Y%m%d`
cp access.log access.log.`date +%F`
if [ `whoami` = "root" ]; then
echo "你是 root"
fi
' 混淆$( )如果你是在写 Shell 脚本 或 CentOS 命令报错,可以把具体命令发出来,我可以帮你具体分析。