ここ数日、Openbox 用のパイプ メニューをいくつか作成しました。以前は bash について何も知らなかったので、これは楽しかったです。1 つは 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>"