We are going to write a bash script that will speak “Battery Low” when the battery’s charging percentage will go below some specified threshold value. Before starting this, first, we need to understand some basic commands and terminology which are described below:
Some Bash Commands:
- acpi: This command returns the percentage of battery charged, whether the device is charging or discharging and the amount of time left before the battery fully discharges.
Example: acpi -b produces the following output:
Battery 0: Discharging, 13%, 00:52:52 remaining
Here, Battery 0 means it is not charging and Battery 1 means it is charging. 13% is the Percentage of Battery Charged. 00:52:52 is the time left before it Hibernates.
- notify-send: This command is used to alert the notification popups in Linux. We will have the alert of the battery charging/discharging warning with this command.
Required Package: espeak command speaks or narrates whatever parameter you pass with it e.g it will speak out “demo espeak” if you run espeak “demo espeak”. Espeak can be installed like any normal package:
sudo apt install espeak
Required Linux Filters:
- grep: The grep filter is used to search for some specified string in a given file.
- cut: The cut filter allows us to cut and strip the desired section of text file before the standard output.
- sed: It stands for stream editor. This filter is used to make insertion, deletion, search, and replacement. We are using sed here for replacing the “%” sign by “”.
- Bash shell script to find sum of digits
- Bash shell script to swap two numbers
- Write a bash script to print a particular line from a file
- Bash shell script to find out the largest value from given command line arguments
- Useful and time saving bash commands in Linux
- script command in Linux with Examples
- How to Install Lazy Script in Kali Linux?
- What is the need of CMOS battery in Computers?
- Fibonacci Series in Bash
- Average of given numbers in Bash
- Simple Calculator in Bash
- Bash program to find A to the power B
- Programs for printing different patterns in Bash
- How To Use Bash Shell Natively On Windows 10
- Bash program to check if the Number is a Palindrome
How to run this script?
You can set a cron job to run this script every hour. So, the script will check battery percentage and charging/discharging every hour and will narrate the result.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.