Ready-to-use loading animations in ASCII and UTF-8 for easy integration into your Bash scripts.
Have an idea for a nice-looking animation? Please help expand the collection!
⚠ Important note: do not copy the raw script file from your browser or you will have broken animations, as the non-breaking spaces will be converted into regular spaces.
Instead, use one of the following methods to retrieve the script:
git clone https://github.com/Silejonu/bash_loading_animations
curl -O https://raw.githubusercontent.com/Silejonu/bash_loading_animations/main/bash_loading_animations.sh curl -O https://raw.githubusercontent.com/Silejonu/bash_loading_animations/main/bash_loading_animations.demo
wget https://raw.githubusercontent.com/Silejonu/bash_loading_animations/main/bash_loading_animations.sh wget https://raw.githubusercontent.com/Silejonu/bash_loading_animations/main/bash_loading_animations.demo
Run the provided script bash_loading_animations.demo to quickly visualise the available animations.
Put these lines at the top of your script:
# Load in the functions and animations source /path/to/bash_loading_animations.sh # Run BLA::stop_loading_animation if the script is interrupted trap BLA::stop_loading_animation SIGINT
Don't forget to replace /path/to/bash_loading_animations.sh with the appropriate filepath.
Show a loading animation for the command foo:
BLA::start_loading_animation "${BLA_name_of_the_animation[@]}"
foo
BLA::stop_loading_animationIf foo prints some output in the terminal, you may want to add:
foo 1> /dev/null # hide standard output # or foo 2> /dev/null # hide error messages # or foo &> /dev/null # hide all output
Some of the animations have been adapted from https://github.com/sindresorhus/cli-spinners.
