Итак, допустим, у меня есть сценарий, который отображает небольшую анимацию:
while [ condition ]
do
echo -ne "\rfinished ᕙ( ᐕ )ᕓ "
sleep 0.3
echo -ne "\rfinished ᕕ( ᐛ )ᕗ "
sleep 0.3
done
Проблема в том, что курсор мигает рядом с танцующим маленьким парнем, и это (незначительное) неудобство для меня,Я бы предпочел, чтобы курсор был скрыт.
Поэтому я попытался tput civis
, который скрывает курсор. Проблема в том, что вам нужно запустить tput cnorm
, чтобы вернуть его в нормальное состояние. В моем примере, если я попытаюсь:
tput civis
while [ condition ]
do
echo -ne "\rfinished ᕙ( ᐕ )ᕓ "
sleep 0.3
echo -ne "\rfinished ᕕ( ᐛ )ᕗ "
sleep 0.3
done
tput cnorm
Это работает хорошо, если только пользователи Ctrl-C
не выходят из моей программы, что приведет к тому, что у них будет невидимый курсор, что действительно раздражает.
Я пытался запустить скрипт так:
./script || tput cnorm
, но это не помогло. (также я предпочел бы иметь возможность запускать скрипт только с ./script
)
Это началось как глупая проблема, но теперь мне искренне любопытно узнать, как ее решить.
Итак, есть ли решение этой проблемы, или мне придется терпеть этот маленький мигающий курсор рядом с моей анимацией?