温馨提示×

centos反引号怎么用

小樊
38
2026-07-09 12:18:38
栏目: 智能运维

CentOS(以及大多数 Linux Shell,如 bash)中,反引号 ` 的作用是 命令替换(Command Substitution),也就是:
先执行反引号里的命令,把它的输出结果替换到当前位置


一、基本用法

`命令`

示例 1:获取当前日期

echo "今天是 `date`"

输出类似:

今天是 Thu Jan 25 10:30:00 CST 2026

示例 2:把命令结果赋值给变量

now=`date`
echo $now

示例 3:嵌套使用(不推荐,可读性差)

echo "当前目录文件数: `ls | wc -l`"

二、反引号 vs $()(推荐)

反引号和 $() 功能一样,但 推荐使用 $(),因为:

  • 可读性更好
  • 支持嵌套
  • 不易出错

对比示例

反引号 推荐写法
date $(date)
echo `ls` echo $(ls)
echo `echo \`date\ `` echo $(echo $(date))

CentOS 中 $() 更常用、更安全


三、常见使用场景

1️⃣ 在脚本中获取命令结果

files=$(ls)
echo "$files"

2️⃣ 条件判断

if [ `whoami` = "root" ]; then
    echo "你是 root"
fi

✅ 更推荐:

if [ $(whoami) = "root" ]; then
    echo "你是 root"
fi

3️⃣ 在路径或字符串中使用

cd /tmp/`date +%Y%m%d`

四、注意事项(容易踩坑)

❌ 反引号里不能再直接用反引号(需要转义)

echo `echo \`date\``

✅ 用 $() 更清晰:

echo $(echo $(date))

❌ 反引号对特殊字符处理不友好

echo "`ls *`"   # 可能出问题

五、总结

反引号作用:执行命令并替换结果
CentOS 中仍然支持,但推荐 $()
脚本、自动化、条件判断中非常常用

如果你愿意,我也可以帮你:

  • 看一段你正在写的 CentOS 脚本
  • 解释某个具体命令为什么用反引号
  • 对比 bash / sh 的行为差异

0