You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RHEL环境编写Bash脚本如何将命令输出保存为变量

实现方案

在Bash中可以通过命令替换语法$()捕获命令的输出并保存为变量,调整后的脚本如下:

#!/bin/bash
# 定义规则项名称
CHECK_ITEM="4.2.2 Ensure logging is configured (Not Scored)"
# 捕获sudo cat /etc/rsyslog.conf的输出存入变量
RSYSLOG_CONF_RESULT=$(sudo cat /etc/rsyslog.conf)

# 输出提示信息
echo " ### ${CHECK_ITEM} : ### "
echo " "
echo "Running command: "
echo "# sudo cat /etc/rsyslog.conf"
echo " "

# 输出捕获的命令结果,和原有直接执行命令的展示效果一致
echo "${RSYSLOG_CONF_RESULT}"

# 后续你可以直接调用变量$RSYSLOG_CONF_RESULT做进一步的判断、写入报告等操作

注意说明

  • 引用保存了命令输出的变量时,一定要用双引号包裹(如"${RSYSLOG_CONF_RESULT}"),否则会丢失原始输出的换行、连续空格等格式。
  • 如果执行sudo cat时需要输入密码,脚本会卡住无法自动执行,建议提前给执行脚本的用户配置该命令的免密sudo权限,或者直接用root身份运行脚本,同时可以去掉命令前的sudo前缀。

内容的提问来源于stack exchange,提问作者user14135159

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:57:01