温馨提示×

centos反引号区别在哪

小樊
43
2026-09-06 11:05:46
栏目: 智能运维

在 CentOS(以及所有 Linux/Unix shell)里,反引号(` `)和单引号(’ ')、双引号(" ")是完全不同的东西,核心区别在于:反引号用于“命令替换”。

下面分点说明。


1. 反引号 ` `(旧式命令替换)

反引号里写的是命令,shell 会先执行它,再把输出结果替换进去。

echo `date`

等价于:

echo $(date)

✅ 反引号里是命令 ❌ 不是字符串


2. 单引号 ’ '(强引用)

单引号里的内容原样输出,不会解析变量、不会执行命令。

echo '当前时间是 `date`'

输出:

当前时间是 `date`

✅ 完全原样 ❌ 不执行命令


3. 双引号 " "(弱引用)

双引号里:

  • ✅ 变量会被解析
  • ✅ 命令替换可用($() 或反引号)
  • ❌ 通配符不展开
echo "当前时间是 `date`"

输出示例:

当前时间是 2026年 1月15日 10:00:00

4. 反引号 vs $()(重点区别)

在 CentOS / bash 中:

写法 是否推荐 说明
`命令` ❌ 旧式 可读性差,嵌套麻烦
$(命令) ✅ 推荐 清晰、可嵌套

嵌套示例:

# 反引号(难看)
echo `echo \`date\``

# $()(清晰)
echo $(echo $(date))

5. 常见误解总结

❌ 反引号 = 引号
✅ 反引号 = 执行命令

一句话记住:

反引号是“跑命令”,引号是“包字符串”

如果你愿意,我也可以结合 CentOS 脚本示例 或 bash/sh 区别 再讲细一点。

0 踩