温馨提示×

centos反引号能赋值吗

小樊
44
2026-10-06 07:32:30
栏目: 智能运维

在 CentOS(以及所有 Linux/Unix shell) 里,反引号(` `)是可以用于赋值的,它的作用是命令替换(command substitution)。

基本用法

变量名=`命令`

示例:

now=`date`
echo $now

等价于(推荐写法):

now=$(date)
echo $now

说明

  • 反引号里的 命令会先执行
  • 执行结果(标准输出)会作为字符串赋值给变量
  • 如果命令有多行输出,变量里会包含换行符

示例:

files=`ls`
echo "$files"

注意事项

  1. 反引号内可以嵌套命令,但很麻烦

    a=`echo \`date\``
    

    不推荐,容易出错

  2. 推荐用 $( ) 代替反引号

    • 可读性好
    • 支持嵌套
    a=$(echo $(date))
    
  3. 反引号不是单引号:

    • ' ':原样字符串
    • ` `:执行命令

结论

✅ CentOS 中反引号可以赋值,作用是命令替换
✅ 但推荐用 $( ),更安全、清晰

如果你是想问“反引号在脚本里为什么没赋值成功”,可以把代码贴出来我帮你看。

0 踩