温馨提示×

centos反引号如何换行

小樊
44
2026-10-18 00:52:42
栏目: 智能运维

在 CentOS(即 Linux 的 Bash 环境) 中,反引号(`)用于命令替换,本身不支持直接换行写命令,但可以用下面几种方式实现“换行”效果。


一、反引号内命令换行(标准做法 ✅)

反引号里不能直接回车换行,但可以用 反斜杠 \ 续行:

result=`ls -l \
  /etc \
  /var`

等价于:

result=`ls -l /etc /var`

✅ 推荐写法


二、使用 $() 替代反引号(更现代 ✅✅)

CentOS / Bash 中强烈建议用 $(),它支持直接换行:

result=$(ls -l \
  /etc \
  /var)

甚至这样也可以:

result=$(
  ls -l
  du -sh /var
)

✅ 可读性好
✅ 支持嵌套
✅ 不容易出错


三、多行命令用反引号(不推荐 ❌)

result=`
ls -l
du -sh /var
`

⚠️ 虽然“可能”能用,但:

  • 容易出错
  • 不同 shell 行为不一致
  • 可读性差

四、总结建议 ✅

方式 是否推荐 说明
反引号 + \ ✅ 可以
$() + 换行 ✅✅✅ 最佳
反引号直接换行 ❌ 不推荐

如果你是在 写脚本 / Makefile / cron / systemd 中遇到问题,可以告诉我具体场景,我可以给你更合适的写法。

0 踩