Skip to content

Instantly share code, notes, and snippets.

@lorenzop
Last active July 21, 2016 17:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lorenzop/5205ab0079550db814c7b595a1a3db84 to your computer and use it in GitHub Desktop.
Save lorenzop/5205ab0079550db814c7b595a1a3db84 to your computer and use it in GitHub Desktop.
bash animation
#!/bin/bash
# --fast
if [[ ! -z $1 ]] && [[ "$1" == "--fast" ]]; then
FAST=1
fi
if [[ ! -z $1 ]] && [[ "$1" == "--no-loop" ]]; then
NOLOOP=1
fi
# --step x
if [[ ! -z $1 ]] && [[ "$1" == "--step" ]]; then
SINGLE="$2"
STEP="$SINGLE"
fi
P=' '
while true; do
clear
echo
[[ -z $SINGLE ]] && \
((STEP++))
echo
echo
echo
case $STEP in
1)
echo -e "$P\e[1;37m --- $P";
echo -e "$P\e[1;37m ----- ( ) $P";
echo -e "$P\e[1;37m ( ) ) --- $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|///||/|||///||$P";;
2)
echo -e "$P\e[1;37m --- $P";
echo -e "$P\e[1;37m ----- ( ) $P";
echo -e "$P\e[1;37m ( ) ) --- $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|//||//||||/|||$P";;
3)
echo -e "$P\e[1;37m --- $P";
echo -e "$P\e[1;37m ----- ( )$P";
echo -e "$P\e[1;37m ( ) ) --- $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|///||/|||///||$P";;
4)
echo -e "$P\e[1;37m ---$P";
echo -e "$P\e[1;37m ----- ( $P";
echo -e "$P\e[1;37m ( ) ) ---$P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|//|||//|||/|||$P";;
5)
echo -e "$P\e[1;37m --$P";
echo -e "$P\e[1;37m ----- ( $P";
echo -e "$P\e[1;37m ( ) ) --$P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|///||/|||///||$P";;
6)
echo -e "$P\e[1;37m -$P";
echo -e "$P\e[1;37m ----- ( $P";
echo -e "$P\e[1;37m ( ) ) -$P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|//|||/||||/|||$P";;
7)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- ($P";
echo -e "$P\e[1;37m ( ) ) $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/||/|///||/|||///||$P";;
8)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- $P";
echo -e "$P\e[1;37m ( ) ) $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/|\e[0;37m___\e[0;32m//|||/||||/|||$P";;
9)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- $P";
echo -e "$P\e[1;37m ( ) ) $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/|\e[0;37m______\e[0;32m||/|||///||$P";;
10)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- $P";
echo -e "$P\e[1;37m ( ) ) $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/|\e[0;37m__________\e[0;32m|||/|||$P";;
11)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- $P";
echo -e "$P\e[1;37m ( ) ) $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/|\e[0;37m______________\e[0;32m/||$P";;
12)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- $P";
echo -e "$P\e[1;37m ( ) ) $P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m --- $P";
echo -e "$P $P";
echo -e "$P $P";
echo -e "$P\e[0;32m|/|_\e[0;37m||________||\e[0;32m_/||$P";;
13)
echo -e "$P $P";
echo -e "$P\e[1;37m ----- $P";
echo -e "$P\e[1;37m ( ) )$P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[0;33m | \e[1;37m--- $P";
echo -e "$P\e[0;33m |\\ $P";
echo -e "$P\e[0;33m | \\ $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m______||\e[0;32m_/||$P";;
14)
echo -e "$P $P";
echo -e "$P\e[1;37m -----$P";
echo -e "$P\e[1;37m ( ) $P";
echo -e "$P\e[1;37m ( )$P";
echo -e "$P\e[0;33m | |\e[1;37m--- $P";
echo -e "$P\e[0;33m |\\ /| $P";
echo -e "$P\e[0;33m | \\ / | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m____\e[0;33m/\e[0;37m__\e[0;33m|\e[0;32m_/||$P";;
15)
echo -e "$P $P";
echo -e "$P\e[1;37m ----$P";
echo -e "$P\e[1;37m ( )$P";
echo -e "$P\e[0;33m __________ \e[1;37m( $P";
echo -e "$P\e[0;33m | | \e[1;37m---$P";
echo -e "$P\e[0;33m |\\ /| $P";
echo -e "$P\e[0;33m | \\ / | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m____\e[0;33m/\e[0;37m__\e[0;33m|\e[0;32m_/||$P";;
16)
echo -e "$P\e[1;30m , $P";
echo -e "$P\e[1;30m ,/ \e[0;33m| \e[1;37m---$P";
echo -e "$P\e[1;30m ,/ \e[0;33m| \e[1;37m( $P";
echo -e "$P\e[1;30m /\e[0;33m_____|____ \e[1;37m( $P";
echo -e "$P\e[0;33m | | \e[1;37m--$P";
echo -e "$P\e[0;33m |\\ /| $P";
echo -e "$P\e[0;33m | \\ / | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m____\e[0;33m/\e[0;37m__\e[0;33m|\e[0;32m_/||$P";;
17)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[1;30m ,/ \e[0;33m|\e[1;30m\\. \e[1;37m--$P";
echo -e "$P\e[1;30m ,/ \e[0;33m| \e[1;30m\\. \e[1;37m( $P";
echo -e "$P\e[1;30m /\e[0;33m_____|____\e[1;30m\\ \e[1;37m( $P";
echo -e "$P\e[0;33m | | \e[1;37m-$P";
echo -e "$P\e[0;33m |\\ /| $P";
echo -e "$P\e[0;33m | \\ / | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m____\e[0;33m/\e[0;37m__\e[0;33m|\e[0;32m_/||$P";;
18)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[1;30m ,/ \\. \e[1;37m-$P";
echo -e "$P\e[1;30m ,/ \e[1;30m_ _ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ \e[1;37m($P";
echo -e "$P\e[0;33m | | $P";
echo -e "$P\e[0;33m |\\ /| $P";
echo -e "$P\e[0;33m | \\ / | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m____\e[0;33m/\e[0;37m__\e[0;33m|\e[0;32m_/||$P";;
19)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[1;30m ,/ \\. $P";
echo -e "$P\e[1;30m ,/ \e[1;30m_ _ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m | | $P";
echo -e "$P\e[0;33m |\\ | $P";
echo -e "$P\e[0;33m | \\ | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|\e[0;37m__\e[0;33m\\\\\e[0;37m_______\e[0;33m|\e[0;32m_/||$P";;
20)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[1;30m ,/ \\. $P";
echo -e "$P\e[1;30m ,/ \e[1;30m_ _ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m | | $P";
echo -e "$P\e[0;33m | | $P";
echo -e "$P\e[0;33m | | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|__________|\e[0;32m_/||$P";;
21)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[1;30m ,/ \\. $P";
echo -e "$P\e[1;30m ,/ \e[1;30m_ _ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m | | $P";
echo -e "$P\e[0;33m | _ | $P";
echo -e "$P\e[0;33m | |\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
22)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[1;30m ,/ \\. $P";
echo -e "$P\e[1;30m ,/ \e[1;30m_ _ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
23)
echo -e "$P\e[1;30m ,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
24)
echo -e "$P ~~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
25)
echo -e "$P ~~~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
26)
echo -e "$P ~~ ~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
27)
echo -e "$P ~~ ~~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
28)
echo -e "$P ~~ ~~ ~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
29)
echo -e "$P~~ ~~~ ~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
30)
echo -e "$P~ ~~ ~~~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
31)
echo -e "$P ~~ ~ ~~ \e[1;30m,. $P";
echo -e "$P\e[0;31m || \e[1;30m\\. $P";
echo -e "$P\e[1;30m ,/\e[0;31m|| \e[1;30m__ \\. $P";
echo -e "$P\e[1;30m /\e[0;33m__________\e[1;30m\\ $P";
echo -e "$P\e[0;33m |\e[0;36m ___ \e[0;33m| $P";
echo -e "$P\e[0;33m |\e[0;36m| | \e[0;33m _ | $P";
echo -e "$P\e[0;33m |\e[0;36m|___| \e[0;33m|\e[0;36m0\e[0;33m| | $P";
echo -e "$P\e[0;32m|/|_\e[0;33m|______|_|_|\e[0;32m_/||$P";;
esac
echo -e "\e[0m"
if [ ! -z $SINGLE ]; then
echo -e "\n\n\n"
exit 0
fi
if [[ $STEP -eq 31 ]]; then
if [[ ! -z $NOLOOP ]]; then
echo -e "\n\n\n"
exit 0
fi
STEP=27
fi
echo
echo
echo
if [[ ! -z $FAST ]] && [[ "$FAST" != 0 ]]; then
sleep 0.2
else
read -t1 -n1 -r INPUT
if [ ! -z $INPUT ]; then
exit 0
fi
# sleep 1
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment