温馨提示×

centos反引号如何赋值

小樊
34
2026-09-21 14:51:52
栏目: 智能运维

在 CentOS(以及其它 Linux 发行版、Unix-like 系统)中,反引号(`)用于命令替换(Command Substitution),也就是把命令的执行结果赋值给变量。


一、基本用法(反引号赋值)

变量名=`命令`

示例 1:把当前日期赋值给变量

today=`date`
echo $today

示例 2:把当前用户赋值给变量

user=`whoami`
echo $user

示例 3:把文件行数赋值给变量

lines=`wc -l test.txt | awk '{print $1}'`
echo $lines

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

反引号是老写法,$() 是更现代、可读性更好的写法:

today=$(date)

✅ 推荐写法:

  • 支持嵌套
  • 不容易和单引号混淆
result=$(ls $(pwd))

三、注意事项(常见坑)

1️⃣ 反引号内不要随意加空格

# 正确
a=`date`

# 错误(会报错)
a= `date`

2️⃣ 反引号中的命令要有输出

var=`echo hello`

3️⃣ 嵌套使用反引号(不推荐)

# 不推荐
a=`echo \`date\``

# 推荐
a=$(echo $(date))

四、在 Shell 脚本中的完整示例

#!/bin/bash

ip=`hostname -I`
echo "本机IP是:$ip"

五、总结

写法 是否推荐 说明
`命令` ❌ 老式 可用但不推荐
$(命令) ✅ 推荐 清晰、可嵌套

如果你是在 CentOS 7 / 8 的 bash / sh 脚本 中使用,或者有具体报错信息,可以把代码贴出来,我可以帮你具体看。

0 踩