You can see how this script makes that couple very happy.
Quick and dirty script that shows your Mac battery information (health, cycles, etc). If an Apple keyboard or mouse is connected, it’ll also display the battery % of those.
# Battery information
battery() {
if !ioreg > /dev/null 2>&1; then
echo "ioreg not found. Exiting."
return 1
fi
_ioreg=`ioreg -l`
_profile=`system_profiler SPPowerDataType`
MOUSE=`echo $_ioreg -l | grep -A 10 "Mouse" | grep '"BatteryPercent" =' | sed 's/[^0-9]*//g'`
TRACKPAD=`echo $_ioreg -l | grep -A 10 "Track" | grep '"BatteryPercent" =' | sed 's/[^0-9]*//g'`
KEYBOARD=`echo $_ioreg -l | grep -A 10 "Keyboard" | grep '"BatteryPercent" =' | sed 's/[^0-9]*//g'`
CYCLE=`echo $_profile | grep "Cycle Count" | awk '{print $3}'`
if [ -n "$MOUSE" ]; then
echo "Mouse: "$MOUSE"%"
fi
if [ -n "$TRACKPAD" ]; then
echo "Trackpad: "$TRACKPAD"%"
fi
if [ -n "$KEYBOARD" ]; then
echo "Keyboard: "$KEYBOARD"%"
fi
if [ -n "$CYCLE" ] && [ "$CYCLE" -ne 0 ]; then
echo "Mac battery "`echo $_profile | grep "State of Charge" | awk '{print $5}'`"%"
echo "Charging: "`echo $_profile | grep "Charging" | head -n 1 | awk '{print $2}'`
echo "Cycles: "$CYCLE
echo "Condition: "`echo $_profile | grep "Condition" | awk '{print $2}'`
echo "Health: "`echo $_profile | grep "Maximum Capacity" | awk '{print $3}'`
fi
}
Outputs something similar to this (no mouse or keyboard connected):
nazgul ~ $ battery
Mac battery 54%
Charging: No
Cycles: 224
Condition: Normal
Health: 89%
This works on zsh
and may not work in bash
.
Leave a Reply…