在 CentOS(以及其它 Linux 发行版、Unix-like 系统)中,反引号(`)用于命令替换(Command Substitution),也就是把命令的执行结果赋值给变量。
变量名=`命令`
today=`date`
echo $today
user=`whoami`
echo $user
lines=`wc -l test.txt | awk '{print $1}'`
echo $lines
$()(推荐)反引号是老写法,$() 是更现代、可读性更好的写法:
today=$(date)
✅ 推荐写法:
result=$(ls $(pwd))
# 正确
a=`date`
# 错误(会报错)
a= `date`
var=`echo hello`
# 不推荐
a=`echo \`date\``
# 推荐
a=$(echo $(date))
#!/bin/bash
ip=`hostname -I`
echo "本机IP是:$ip"
| 写法 | 是否推荐 | 说明 |
|---|---|---|
`命令` |
❌ 老式 | 可用但不推荐 |
$(命令) |
✅ 推荐 | 清晰、可嵌套 |
如果你是在 CentOS 7 / 8 的 bash / sh 脚本 中使用,或者有具体报错信息,可以把代码贴出来,我可以帮你具体看。