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

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

Re: [shell-script] CURIOSIDADES: Discussão sobre ShellScript no 4Chan


From: Paulo Bettega
Subject: Re: [shell-script] CURIOSIDADES: Discussão sobre ShellScript no 4Chan
Date: Mon, 12 Jan 2015 15:07:02 -0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

Valeu Alfredo, é verdade e vc me lembrou disso :) quando incluí a var $Percent
ia tirar os decimais também, mas não fiz na hora e comecei a testar os ícones
e mensagens no console e GUI, depois que "aparentemente" o script funcionou
eu postei no pastebin e na lista, e acabei não cortando os decimais.
É bom pra aprender a colocar um TODO mesmo em scripts pequenos.
(ou, se precisa de TODO, deixou de ser pequeno?)

Abraços Paulo Bettega


On 12-01-2015 14:27, Alfredo Casanova address@hidden [shell-script] wrote:
Acho que pra finalidade do script seria mais simples colocar um cut retirando 
os decimais.

On Mon Jan 12 2015 at 1:57:43 PM Paulo Bettega address@hidden
<mailto:address@hidden> [shell-script] <address@hidden
<mailto:address@hidden>> wrote:

    Julio vc tem razão, só vi esse erro depois que fiquei monitorando o note
    até que ele desligou por falta de bateria.

    Não tenho o acpi, então só posso relatar o script com upower.
    A saída do upower é sempre com decimais separados por ponto,
    eu vi com três, quatro e cinco casas decimais.

    Abaixo de 10% a unidade só tem um dígito.
    Não sei o que acontece abaixo de 1% ou quando a bateria chega a 0%
    porque o note desligou logo que abaixou de 2%. Mas acho que deve ser
    algo como 0.1234% e o zero deve ser 0% mesmo, porque a carga máxima
    é 100% sem casas decimais.

    Levando isso em conta editei o script desse jeito, incluindo um teste
    para verificar o $DISPLAY.
    Pelo nome (xfpm...), os ícones devem ser específicos do Xfce.
    http://pastebin.com/2c0nURV4

    Abraços Paulo Bettega

    ps - Depois de pesquisar sobre o upower, realmente vi que a minha bateria
    está começando a acabar. O campo 'capacity' mostra a carga máxima
    da bateria, a minha está em 81.8636%.
    Ainda tem outro problema: apesar de mostrar fully-charged, às vezes
    não carrega 100%, fica na faixa dos 90%. Nesse caso coloquei um ícone
    diferente indicando o problema.



    On 12-01-2015 10:24, 'Julio C. Neves' address@hidden <mailto:address@hidden>
    [shell-script] wrote:
     > Temos aqui alguns problemas:
     > » O case não aceita expressões regulares e sim os coringas de expansão 
de arquivo (glob
    expansion) e
     > a barra vertical (|) como 'ou';
     > » Um colega de lista reportou que o resultado não seria necessariamente 
inteiro, poderia ser
    núm real.
     > Esse último arrasa a solução do Paulo Bettega, veja:
     >
     > $ Nota=80,09
     > $ case $Nota in
     >  >             *100%) echo 100 ;; # ou *100*) caso exista 100.0%
     >  >             *[01][0-9]*) echo 000 ;;
     >  >             *[23][0-9]*) echo 020 ;;
     >  >             *[45][0-9]*) echo 040 ;;
     >  >             *[67][0-9]*) echo 060 ;;
     >  >             *[89][0-9]*) echo 080 ;;
     >  >             *) echo erro? ;;
     >  >       esac
     > 000
     >
     > O case deveria voltar 080, mas a glob casou com o 09 da expressão. Creio 
que a saída seja usar um
     > [!.] (não ponto) e um 'ou' (|), para distinguir resultados inteiros de 
reais:
     > $ case $Nota in
     >      *[!.][01][0-9]%*|*[01][0-9].*) echo 000 ;;
     >      *[!.][23][0-9]%*|*[23][0-9].*) echo 020 ;;
     >      *[!.][45][0-9]%*|*[45][0-9].*) echo 040 ;;
     >      *[!.][67][0-9]%*|*[67][0-9].*) echo 060 ;;
     >      *[!.][89][0-9]%*|*[89][0-9].*) echo 080 ;;
     >      *) echo 100
     > esac
     >
     > Acho que deve ter algo mais sucinto para fazer isso, mas não estou conseguindo 
"ver" agora.
     >
     >
     > Abcs,
     > Julio
     > *@juliobash**
     > Próximos cursos de Shell*
     > *Cidade        LocalPeríodo*
     > *Rio de JaneiroEDX <http://edx.srv.br/>09 a 13/03/15*
     > *São Paulo 4Linux 
<http://www.4linux.com.br/__cursos/programacao-em-shell-__script
    <http://www.4linux.com.br/cursos/programacao-em-shell-script>>24 a 28/11/14*
     > Dou treinamento de /Shell/ em qualquer cidade.
     > Para mais detalhes, me mande um e-mail <mailto:address@hidden
    <mailto:address@hidden>>__.
     >
     >


reply via email to

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