Skip to content

Instantly share code, notes, and snippets.

@lemming
Created December 10, 2016 05:31
Show Gist options
  • Save lemming/a9b35cf3b5a9a8422e7d8b81d9eb9b79 to your computer and use it in GitHub Desktop.
Save lemming/a9b35cf3b5a9a8422e7d8b81d9eb9b79 to your computer and use it in GitHub Desktop.
spinner.sh
#!/bin/sh
spinner()
{
local pid=$1
local delay=0.1
local spinners=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏)
local spinners_count=${#spinners[@]}
local spinstr='⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
local infotext=$2
local counter=0
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
let "counter++"
printf "%s %s" ${spinners[$(($counter % $spinners_count))]} "$infotext"
sleep $delay
printf "\b\b\b\b"
for i in $(seq 1 ${#infotext}); do
printf "\b"
done
done
printf " "
for i in $(seq 1 ${#infotext}); do
printf " "
done
printf "\b\b\b\b"
for i in $(seq 1 ${#infotext}); do
printf "\b"
done
}
result=`sleep 10 && echo 123` &
spinner $! "loading..."
echo $result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment