Sleep infinitely in bash

2021-12-19 1 min read Learning Bash

I am sure that you would have got a lot of instances where you have wanted to sleep for infinity and ended up doing this

1
2
3
4
while [[ 1 ]]
do
	sleep 3600
done

or some other such similar loop to sleep for some time and wrap it in infinite loop.

I learned something new recently and found it very useful. You can do the above with

1
sleep infinity

and you can use that even for a while loop

Continue reading

Ignore case when completing file names in bash

2021-12-11 1 min read Learning Bash

Sometimes you don’t want to have the bash completion work with case completion. There could be several reasons like one I dont like is the default xdg folders starting with capital letters.

So, if you know that bash uses readline for a lot of configuration then there is a very easy solution, you can just run this command and start a new bash shell :)

1
echo 'set completion-ignore-case on' >> ~/.inputrc

Enjoy 👍

Continue reading

Warn when battery is low

2020-08-30 2 min read Learning Bash Scripting

I am very lazy to look at battery status and want to be warned when the battery is low. This means that even if I am away from the laptop, I can be warned that laptop is about to poweroff due to battery low. So, what kind of alerts I can have, many -

  1. zenity message box
  2. email
  3. sms with twillio
  4. Telegram message and possibility is endless.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22

LOW=35 ## This si the lowest percentage at which I want the alerts.
## Parse the acpi statue and decide if alert needs to be sent
per=$(/usr/bin/acpi -b | awk '{print $4}'|sed 's/%.*//') 

# source ~/bin/cron-scripts/sendsms.sh
if [[ $(/usr/bin/acpi |grep -c "Full\|Charging") > 0 ]]
then
    #This is when the AC is connected.
    exit 0
fi


if [[ ! -z $per && $per < $LOW ]]
then
    # sendsms "Battery is at $per%"
    export sub="Battery is at $per%"
    echo "Battery is running out : $per"|/usr/sbin/sendmail -t
    display_msg.sh "ACPI Warn" "Battery is at $per%"
    echo "ACPI Warn" "Battery is at $per%" | /home/amitag/bin/twilio-sms +919535210501
    zenity --warning --text="Battery is at $per%"
fi

Put this script somewhere and schedule in cron for every minute and enjoy.

Continue reading

Some good find alias.

2020-08-23 1 min read Learning Bash

Here are some interesting alias’s that you may want to add to your bashrc file or where-ever else you add your aliase’s. Very useful if you use find commonly.

There are four aliases defined here and have a comment explaining what it does. but these are so simple and useful that you probably dont even need the comments.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11

# ff:  to find a file under the current directory
ff () { find . -name "$@" ; }
# ffs: to find a file whose name starts with a given string
ffs () { find . -name "$@"'*' ; }
# ffe: to find a file whose name ends with a given string
ffe () { find . -name '*'"$@" ; }
# very very useful function: for finding files with ignore case, just type "f <part of filename>"
# This in combination with alias for 'g' is deadly.
#
f () { find . -iname '*'"$@"'*' ; }

Hope this is useful for you.

Continue reading

Books menu with bash

2020-08-16 1 min read Learning Bash

If you have a folder full of ebooks in various formats and not necessarily one sigle format and you want to have a quick menu to browse though your collection without requiring to open a File Manager then you are going to love this script.

The scripts works by allowing you to browse to the requied folder of your choice and once you select the file, then using xdg-open to open the file with your default viewer.

Continue reading

Podman repositories on ubuntu like distros

2020-08-01 2 min read Learning Virtualization

Recently I installed podman on ubuntu based dervative. I like podman a lot but to my distress I found that after installation, I was not able to search or run any containers. Found out that the repositories were not configured. So, if you run into such issues, then here is what you need to do. You need to create a file /etc/containers/registries.conf. And the contents of the file for just one docker hub registries would be -

Continue reading

Pygmentize Styles

2020-07-26 1 min read Learning

I have recently started using pygmentize for looking at my code in terminal. A very good and native way to do this is to use pygmentize. If you do not know about pygmentize then

Highlight the input file and write the result to . If no input file is given, use stdin, if -o is not given, use stdout.

So, you can simply pass the script or source code through pygmentize and get a lovely color output with code highlighting in the terminal and this can be very useful.

Continue reading
Older posts Newer posts