например: мне нужна функция, которая бесконечно печатает символ при первом вызове и останавливается при следующем вызове. то, что я пробовал, это создание функции, которая имеет условие остановки и вспоминает его, как показано ниже. spin 1
запускает функцию, а spin 0
при повторном вызове просто ничего не делает, оставляя функцию бесконечно работающей. функция выглядит следующим образом:
spin()
{
spinner=( "██" "████" "██████" "████████" "██████████" "████████████" "██████████████" "████████████████" " ")
i=0
while :;
do
if [[ $1 -eq 0 ]]
then
break
else
echo -ne "\r${spinner[i%9]}"
sleep 0.2
i=$((i+1))
fi
done
}
spin $1
Может кто-нибудь предложить какой-нибудь обходной путь.
Я не могу использовать pgrep или grep и убить скрипт, так как он обязательно отображает сообщение «Killed» в терминале.