Answers:
这是一个使用的示例\b
,该示例告诉终端仿真器将光标向左移动一列,以便不断重复覆盖同一字符。
#!/usr/bin/env bash
spinner() {
local i sp n
sp='/-\|'
n=${#sp}
printf ' '
while sleep 0.1; do
printf "%s\b" "${sp:i++%n:1}"
done
}
printf 'Doing important work '
spinner &
sleep 10 # sleeping for 10 seconds is important work
kill "$!" # kill the spinner
printf '\n'
有关更多信息,请参见BashFAQ 34。
spinner &
,我会将pid存储在本地变量中spinner_pid=$!
,然后用kill $spinner_pid &>/dev/null
tput civis #hide cursor
和tput cnorm #show cursor
printf "%s\r" "${chars:$i:1}"
呢?