shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] [Tput] - Dúvida


From: Gustavo Filgueiras
Subject: Re: [shell-script] [Tput] - Dúvida
Date: Wed, 24 Jul 2013 12:03:52 -0300

Galera,

 Resolvi dessa forma, sei que está tosco usando um if dentro do while,
mas.... é oque temos pra hoje rs !

# -- Exibe uma contagem regressiva.
# -- Exemplo de uso: funcao.global_Contagem.Regressiva "MENSAGEM" "MENSAGEM
NO FIM" "SEGUNDOS"
funcao.global_Contagem.Regressiva() {
    tempo=$3
    tput sc
    while ((tempo != -1)); do
        tput rc; tput el
        echo -n "$1" "$tempo";
        let tempo--
        sleep 1
        if [ $tempo -lt 0 ]; then
            tput rc; tput el
            echo -n "$2"
            echo ""
        fi
    done
}


Em 24 de julho de 2013 11:05, Gustavo Filgueiras
<address@hidden>escreveu:

> Julio,
>
>  Obrigado por me ajudar, mas continuo com o mesmo problema, e na
> documentação que me passou, não consegui achar um comando para me ajudar,
> veja, eu ainda continuo amarrado ao numero *tput cup 9
>
> *
> Gostaria que ao inves de passar* *tput cup 9, fica-se algo do tipo
>
> linha_que_estou=X
> tput cup $linha_que_estou
>
> Pq dessa forma que voce sugeriu, so funciona se eu estiver na linha 9
>
>
>
> Em 23 de julho de 2013 23:20, Julio C. Neves <address@hidden>escreveu:
>
> Antes de mais nada, dê uma olhada
>> aqui<
>> https://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo007#O_comando_tput>
>> .
>>
>> Visto isso vamos continuar:
>> 1 - echo; echo; echo... é comando de marreco ;) Use
>> tput il 9
>> que ele insere 9 linhas em branco (il=insert line)
>> 2 - tput sc (save cursor position) guarda a posição que o cursor está e tp
>> rc (restore cursor to position) devolve o cursor para a linha e coluna que
>> o cursor estava no momento do tput sc. Assim sendo o teu tput cup 9, não é
>> necessário e ainda por cima está incompleto, pq tput cup precisa da linha
>> e
>> da coluna (origem zero).
>>
>> Na linha que vc fez:
>> tput rc; tput cup 9; tput el
>> faça:
>> tput rc; echo X; sleep 5; tput cup 9; echo Y; sleep 5; tput el
>> e repare onde aparecerão o X e o Y.
>>
>> Outra coisa:
>> se vc fizer:
>> tput cup 20 40; tput el; echo X
>> vc verá que o X foi escrito na 20 40, isto é o tput el, apesar de ter
>> apagado até o fim da linha, não tirou o cursor da posição que ele estava.
>>
>>
>>
>> Abcs,
>> Julio
>> *@juliobash
>> *
>>
>>
>>
>> Em 23 de julho de 2013 22:07, Gustavo Filgueiras
>> <address@hidden>escreveu:
>>
>> > **
>> >
>> >
>> > Boa noite,
>> >
>> > Galera, estou tentando fazer uma contagem regressiva dinâmica, ou seja,
>> > qualquer que seja a linha que ela for chamada, ela vai funcionar.
>> >
>> > echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo "";
>> > tempo=1
>> > echo -n "Segundos para iniciar: "
>> > tput civis; tput sc
>> > while ((tempo != -1)); do
>> > tput rc; tput el
>> > echo -n "$tempo"
>> > let tempo--
>> > sleep 1
>> > done
>> > tput rc; tput cup 9; tput el
>> > echo "Iniciando..."
>> > echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo "";
>> > echo "oi"
>> >
>> > O problema eh que eu to usando um valor fixo em tput cup 9 , gostaria de
>> > saber, se tem como eu guardar a linha aonde o curso está rodando, para
>> eu
>> > jogar no tput cup $linha por exemplo.
>> >
>> > []'s
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>> >
>>
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> Esta lista não admite a abordagem de outras liguagens de programação,
>> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
>> prévio aviso.
>> ---------------------------------------------------------------------
>> Sair da lista: address@hidden
>> ---------------------------------------------------------------------
>> Esta lista é moderada de acordo com o previsto em
>> http://www.listas-discussao.cjb.net
>> ---------------------------------------------------------------------
>> Servidor Newsgroup da lista: news.gmane.org
>> Grupo: gmane.org.user-groups.programming.shell.brazil
>>
>> Links do Yahoo! Grupos
>>
>>
>>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]