我想创建一个 Bash 别名来显示系统信息(类似于 screenfetch 或 neofetch,但更轻)。目前代码是:
function info {
echo
kernel=$(uname -s -r)
echo $kernel"."
echo
packages=$(pacman -Qq | wc -l)
echo $packages "packages."
echo
df /dev/mmcblk1p2 -h
echo
sensors coretemp-isa-0000 -A
}
结果是:
Linux 5.2.0-arch2-1-ARCH.
927 packages.
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk1p2 57G 26G 29G 48% /
coretemp-isa-0000
Package id 0: +46.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +46.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +46.0°C (high = +105.0°C, crit = +105.0°C)
Core 2: +45.0°C (high = +105.0°C, crit = +105.0°C)
Core 3: +45.0°C (high = +105.0°C, crit = +105.0°C)
我想将 df 和sensors 命令的部分输出加载到另一个变量中。
对于 df:我想提取 Size、Used、Avail 和 Use% 的值来显示:磁盘有 $disk_size。已使用 $disk_percent ($used)。$disk_avail 是免费的。
对于传感器:我想提取 'Package id 0' 的值来显示:CPU 有 $cpu_temperature。
您可以将信息作为函数的一部分获取并将其存储在变量中,而不是尝试从函数输出中获取信息diskInfo
,cpuTempInfo
如下所示:
function info {
echo
kernel=$(uname -s -r)
echo $kernel"."
echo
packages=$(pacman -Qq | wc -l)
echo $packages "packages."
echo
df /dev/mmcblk1p2 -h
diskInfo=$(df /dev/mmcblk1p2 -h | awk 'FNR > 1 { print "Disk Size:" $2 " with " $3 " used. " $4 " available " $5 " of disk used " }')
echo $diskInfo
echo
sensors coretemp-isa-0000 -A
cpuTempInfo=$(sensors coretemp-isa-0000 -A | awk 'FNR == 2 { print $4 }'
echo $cpuTempInfo
}
echo $diskInfo
Disk Size:57G with 26G used. 29G available 48% of disk used
echo $cpuTempInfo
+46.0°C
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句