Skip to content

Instantly share code, notes, and snippets.

@chriha
Created April 11, 2017 10:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save chriha/c532559d245caed86345e182e0452bba to your computer and use it in GitHub Desktop.
Save chriha/c532559d245caed86345e182e0452bba to your computer and use it in GitHub Desktop.
bash spinner
#!/usr/bin/env bash
spinner() {
local cl="\r\033[K"
local pid=$1
local spinnging=true
local delay=0.05
local spinstr="⠏⠛⠹⠼⠶⠧"
printf " "
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
local tmp=${spinstr#?}
if [ -z "$2" ]; then
printf " \b\b\b${tmp:0:1} "
else
printf "${cl} ${tmp:0:1} ${2}"
fi
local spinstr=$tmp${spinstr%"$tmp"}
sleep $delay
done
printf "${cl}"
}
(sleep 4) &
spinner $! "Updating pro-cli ..."
(sleep 4) &
printf "Updating ..." && spinner $!
printf "end\n"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment