spinner als Wrapper.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
sleep 4
|
for i in {1..4}; do
|
||||||
echo "Ende langes Kommando"
|
echo "[$$] finished ${i}/4 ticks"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|||||||
40
spinner.sh
40
spinner.sh
@@ -1,10 +1,38 @@
|
|||||||
#! /usr/bin/bash
|
#! /usr/bin/bash
|
||||||
|
|
||||||
|
spinner_pid=
|
||||||
|
|
||||||
for c in '/' '|' '\' '-'; do
|
spinner() {
|
||||||
printf "\r%s" "${c}"
|
local chars=('\' '|' '/' '-')
|
||||||
sleep 1
|
local c
|
||||||
done
|
|
||||||
|
|
||||||
echo
|
while true; do
|
||||||
echo 'done'
|
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 "$@"
|
||||||
|
|||||||
Reference in New Issue
Block a user