Eu tenho este pequeno script de exemplo:
for i in {1..100}; do
echo $i
sleep 0.1
done | whiptail --gauge "Doing something" 10 50 0
Ele funciona como deveria, exibindo uma barra de progresso em movimento e fecha quando chega a 100.
Usando o mesmo loop for sem canalizá-lo para whiptail
, posso pará-lo com Ctrl+ C. Mas como posso encerrar interativamente a tubulação do processo para whiptail, pois Ctrl+ Cnão está funcionando aqui?
Eu tentei opções diferentes com whiptail e parece que a única solução é executá-lo para cada porcentagem. Ctrl- Cestá funcionando.
É necessário alterar o TERM para fazê-lo funcionar em
gnome-terminal
, o mesmo para xterm (testado) e provavelmente outros terminaisTestado em console de texto (tty) - ele já possui TERM=linux
whiptail
restaura o texto do terminal para o mesmo de antes da execução, mas TERM=linux bloqueia esta característica.Se você precisar enviar algumas informações de progresso, é melhor fazê-lo dentro
whiptail
dos parâmetros de textoPara sair do programa, você pode tentar algo como o seguinte:
Aqui, o script aguardará a entrada do usuário 'q' ou 'Q' para sair.