温馨提示×

centos反引号如何输出结果

小樊
42
2026-09-30 11:50:30
栏目: 智能运维

在 CentOS(以及其它 Linux 发行版、类 Unix 系统)里,反引号(`)用于命令替换(Command Substitution),也就是:
先执行反引号里的命令,再把命令的输出结果替换到原位置。


一、基本用法

`命令`

系统会:

  1. 执行反引号中的命令
  2. 把命令的标准输出作为字符串返回

示例 1:输出当前目录

echo `pwd`

等价于:

echo $(pwd)

示例 2:输出当前用户名

echo `whoami`

输出:

root

(取决于你当前登录的用户)


示例 3:在变量中使用

now=`date`
echo "当前时间是:$now"

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

现代 Shell(bash)更推荐用 $(),可读性更好,也支持嵌套:

# 反引号(旧写法)
echo `ls \`pwd\``

# $()(推荐写法)
echo $(ls $(pwd))

三、常见注意点

1. 反引号里的内容会被执行

echo `ls`

会列出当前目录内容。

2. 只捕获标准输出

错误输出不会显示:

`ls /not/exist`

错误会直接打印到终端,但不会被赋值或 echo 出来。

3. 反引号需要转义嵌套

echo `echo \`date\``

容易写错,推荐用 $()。


四、在脚本中常见用法

#!/bin/bash

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

如果你是想问:

  • 如何在 脚本里输出反引号字符本身(而不是执行命令)
  • 或者在某些 特定场景(cron / makefile / python) 中使用反引号

可以告诉我具体场景,我可以给你更针对性的示例。

0 踩