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

OpenWRT v21.02系统信息脚本优化:改为双列布局

OpenWRT sysinfo脚本双列布局实现方法

针对OpenWRT v21.02的ash/bash环境,以下两种方法可以快速将单列系统信息改成紧凑的双列布局:

方法一:固定宽度手动排版(精准控制)

适合需要自定义列宽、对齐方式的场景,代码可读性强,新手易调试:

#!/bin/ash
# 先收集所有系统信息到变量(避免重复执行命令)
HOSTNAME="主机名: $(hostname)"
OS_VER="系统版本: $(grep DISTRIB_DESCRIPTION /etc/openwrt_release | cut -d'"' -f2)"
KERNEL_VER="内核版本: $(uname -r)"
CPU_MODEL="CPU型号: $(grep 'model name' /proc/cpuinfo | head -n1 | cut -d: -f2 | sed 's/^ //')"
CPU_CORES="CPU核心数: $(grep -c ^processor /proc/cpuinfo)"
MEM_TOTAL="内存总大小: $(free -h | awk '/Mem/{print $2}')"
MEM_USED="已用内存: $(free -h | awk '/Mem/{print $3}')"
DISK_TOTAL="硬盘总大小: $(df -h / | awk '/\//{print $2}')"
DISK_USED="已用硬盘: $(df -h / | awk '/\//{print $3}')"
CURRENT_DATE="当前时间: $(date '+%Y-%m-%d %H:%M:%S')"

# 双列输出:左列固定30字符宽度(左对齐),右列自动填充
printf "%-30s %s\n" "$HOSTNAME" "$OS_VER"
printf "%-30s %s\n" "$KERNEL_VER" "$CPU_MODEL"
printf "%-30s %s\n" "$CPU_CORES" "$MEM_TOTAL"
printf "%-30s %s\n" "$MEM_USED" "$DISK_TOTAL"
printf "%-30s %s\n" "$DISK_USED" "$CURRENT_DATE"
  • 调整列宽:修改%-30s中的数字即可,比如改成%-25s适配窄屏幕
  • 执行方式:保存为sysinfo.sh,运行chmod +x sysinfo.sh && ./sysinfo.sh

方法二:自动分栏(无需手动分组)

适合信息条目较多的场景,系统自动分配左右列内容,无需手动配对:

#!/bin/ash
# 生成临时信息文件
cat << EOF > /tmp/sysinfo.tmp
主机名: $(hostname)
系统版本: $(grep DISTRIB_DESCRIPTION /etc/openwrt_release | cut -d'"' -f2)
内核版本: $(uname -r)
CPU型号: $(grep 'model name' /proc/cpuinfo | head -n1 | cut -d: -f2 | sed 's/^ //')
CPU核心数: $(grep -c ^processor /proc/cpuinfo)
内存总大小: $(free -h | awk '/Mem/{print $2}')
已用内存: $(free -h | awk '/Mem/{print $3}')
硬盘总大小: $(df -h / | awk '/\//{print $2}')
已用硬盘: $(df -h / | awk '/\//{print $3}')
当前时间: $(date '+%Y-%m-%d %H:%M:%S')
EOF

# 自动分成两列输出,-t取消页眉页脚
pr -2 -t /tmp/sysinfo.tmp

# 清理临时文件
rm /tmp/sysinfo.tmp
  • 优势:新增信息条目时无需修改排版逻辑,自动适配
  • 注意:pr命令是OpenWRT默认自带的,无需额外安装包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 19:22:23