在过去的几天里,我为 Openbox 制作了几个管道菜单,这很有趣,因为我以前对 bash 一无所知。一个显示了 df 的输出,但似乎菜单宽度的限制破坏了这一点。另一方面,这个对我来说就像一个花花公子。我不完全理解它是如何工作的,所以为了我自己的 bash/awk 教育,我问你,是否可以在不使用 bc 或 acpi 或其他我可能没有安装的东西的情况下简化它?
#!/bin/sh
now=`cat /sys/class/power_supply/BAT0/charge_now`
full=`cat /sys/class/power_supply/BAT0/charge_full`
Date=$(date '+%R %a %x')
Wifi=$(cat /proc/net/wireless | awk 'NR==3 {print $3}')
Batt=$(echo $now $full | awk '{ printf("%.2f\n", $1/$2 * 100) }')
echo "<openbox_pipe_menu>"
echo "<separator label=\"$Date\"/>"
echo "<separator />"
echo "<item label=\"Wifi: $Wifi%\"/>"
echo "<item label=\"Batt: $Batt%\"/>"
echo "</openbox_pipe_menu>"