39 lines
476 B
Bash
Executable File
39 lines
476 B
Bash
Executable File
#! /usr/bin/bash
|
|
|
|
spinner_pid=
|
|
|
|
spinner() {
|
|
local chars=('\' '|' '/' '-')
|
|
local c
|
|
|
|
while true; do
|
|
for c in ${chars[@]}; do
|
|
printf "<%s>\r" "${c}"
|
|
sleep .2
|
|
done
|
|
done
|
|
}
|
|
|
|
cleanup() {
|
|
echo "done"
|
|
if [[ -n ${spinner_pid} ]]; then
|
|
kill "${spinner_pid}"
|
|
fi
|
|
echo "[$$] finished spinner"
|
|
}
|
|
|
|
main() {
|
|
trap cleanup EXIT
|
|
|
|
spinner &
|
|
spinner_pid=$!
|
|
|
|
if (( $# == 0)); then
|
|
echo "Usage: spinner <cmd>"
|
|
return 1
|
|
fi
|
|
"$@"
|
|
}
|
|
|
|
main "$@"
|