|
From: | address@hidden |
Subject: | Re: [shell-script-pt] $((i)) ou $((i++)) no Dicas-L de 15/ago/2019 (Substituição de Processos) |
Date: | Sun, 14 Jun 2020 00:48:20 -0300 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
Logo depois que mandei o email anterior li um artigo sobre
pré-incremento e pós-incremento de variáveis.
https://askubuntu.com/questions/85775/why-is-the-output-of-echo-i-different-than-echo-i-i1
Isso dá uma pauta para Dica!! :-)
i=0; echo $i; echo $((++i)); echo $i; echo $((++i)); echo $i
0
1
1
2
2
Renato Romano, São B. Campo
Olá Júlio !
No Dicas-L de 15/ago/2019 (Substituição de Processos - http://www.dicas-l.com.br/arquivo/substituicao_de_processos.php) vi um exemplo que não entendi:
ls arq* | while read Arq
do
echo $((i)) $Arq
done; echo Eu tenho :$i: arquivos
Com a saída esperada (supondo que os arquivos existam no diretório):
1 arq
2 arq.err
3 arq.err1
4 arq.limpo
Eu tenho :: arquivos
Mas quando tento da forma acima a variável i não é incrementada.
Não estaria faltando o '++' no ((i)) ?
ls arq* | while read Arq
do
echo $((i++)) $Arq #<-------
done; echo Eu tenho :$i: arquivos
(assim funciona)
Não conhecia nem essa construção (com dois parênteses e o ++, que exibe e incrementa ao mesmo tempo - muito prática!).
De qualquer maneira já aprendi algo novo e deve ser útil a muitos! :-)
Abraços de um fã. ;-)
Renato Romano, São B. Campo
_______________________________________________ Lista brasileira de usuários de shell script Endereço de e-mail da lista: shell-script-pt@nongnu.org Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/ NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.
[Prev in Thread] | Current Thread | [Next in Thread] |