[Bash] Show battery in prompt 05-21-2013, 07:57 AM
#1
This bash script that I wrote uses awk to get the number of bars to show how much the battery is loaded. It prints the bars in appropriate colors ranging from red to yellow to green to show the status. In addition it indicates if the battery is loading with the '~'.
Note that you maybe have to adjust the paths of BATTERY_DIR and ACAD_DIR to make it work. (This script is tested and works on Ubuntu 13.04)
Old (Ubuntu 12.10)
Now you can use this i.e. to show the battery status in your prompt.
Example what to put in your .bashrc:
Which will look like this (full battery):
![[Image: 4xzz7iq5.png]](http://s7.directupload.net/images/130521/4xzz7iq5.png)
Or like this (low battery):
Note that you maybe have to adjust the paths of BATTERY_DIR and ACAD_DIR to make it work. (This script is tested and works on Ubuntu 13.04)
Code:
#! /bin/bash
BATTERY_DIR=/sys/class/power_supply/BAT0
ACAD_DIR=/sys/class/power_supply/AC
BARS=$( awk '{print int( 5*($0/100) + 0.5) }' ${BATTERY_DIR}/capacity)
if [ $(cat ${ACAD_DIR}/online) -eq 1 ]; then
echo -ne "~"
fi
if [ $BARS -gt 3 ]; then
echo -ne "\[\033[1;32m\]" #green color
elif [ $BARS -gt 2 ]; then
echo -ne "\[\033[1;33m\]" #yellow color
else
echo -ne "\[\033[1;31m\]" #red color
fi
for (( c=1; c<=${BARS}; c++ ))
do
echo -ne "|"
done
for (( c=${BARS} + 1; c<=5; c++ ))
do
echo -ne " "
done
Old (Ubuntu 12.10)
Spoiler:
Now you can use this i.e. to show the battery status in your prompt.
Example what to put in your .bashrc:
Code:
PS1="<\[\033[0;34m\]\u:\w\[\033[0;m\]>-(`battery.sh`\[\033[0;m\]):\$ "
Which will look like this (full battery):
![[Image: 4xzz7iq5.png]](http://s7.directupload.net/images/130521/4xzz7iq5.png)
Or like this (low battery):
![[Image: jlaqsxbz.png]](http://s1.directupload.net/images/130521/jlaqsxbz.png)
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.
Expressed feelings are just an attempt to simulate humans.
![[Image: 2YpkRjy.png]](http://i.imgur.com/2YpkRjy.png)