Re: Ajuda com shell scritp

2010-08-06 Por tôpico Junior Polegato - Linux

Em 06-08-2010 09:35, Leandro Moreira escreveu:

Junior,
Na linha [  $CONTADOR -eq $CONTADOR ] ele compara as variaveis se 
forem iguais ele segue se nao ele nao faz nada, como contador vai 
receber o conteudo do arquivo serial vai ser sempre valores iguais 
entao ele entre na estrutura e soma +1 a variavel, não é pra ser um 
contador do tipo conte de zero a 100 esse eu precisso q ele de apenas 
um salto cada vez que eu executar o script.


Leandro,

Desculpe, mas verificar se uma variável (CONTADOR) é igual 
(-eq) à ela mesma (CONTADOR) vai ser sempre verdadeiro, teria algum caso 
em que isso não seria verdade?


Poderíamos, ser for somente para somar 1 ao número do arquivo, 
simplificar em:


COUT=""
echo $((`cat $COUT` + 1)) > $COUT

Para usar este número como inteiro de 3 dígitos completado com 
zeros à esquerda, no script onde for usar:


COUT=""
CONTADOR="`printf "%03i" \`cat $COUT\``"
...
(resto do seu script com CONTADOR sendo um inteiro de 3 dígitos, 
completado com zeros à esquerda)



[]'s
 Junior Poegato


--
To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4c5c0570.8040...@juniorpolegato.com.br



Re: Ajuda com shell scritp

2010-08-06 Por tôpico Leonardo Carneiro
Oi Leandro. Acho que vc precisa usar o utilitário 'bc'.

Acho que ele é parte dos aplicativos do GNU, então provavelmente vem
em qualquer distribuição.

2010/8/6 Leandro Moreira :
> Caros,
> Estou criando um script que faz um contador que armazena dentro de um
> arquivo o valor anterior e usa este para realizar o proximo salto, o
> contador estar funcionando perfeitamente, conforme abaixo:
>
> COUT="/home/lmoreira/script-dev/vpn/serial"
> CONTADOR=`cat $COUT`
> if [  $CONTADOR -eq $CONTADOR ]; then
>   let CONTADOR=$CONTADOR+1;
>   echo "Contador em: $CONTADOR";
>
> fi
> echo "$CONTADOR" > serial
>
> So que eu preciso que o numero seja implementado com 3casas decimais tipo
> 001,002,003 pois vou usar essa informação também no meu scritp de firewall
> para realizar liberação de portas, algume pode me ajudar a formatar esse
> numero.
>
> Att.
>
> --
> Leandro Moreira
> Network Administrator
> LPIC1 - Linux Professional Institute Certified
> e-mail/msn: lean...@leandromoreira.eti.br
> Tel.: + 55(32) 9906-5713
>


--
To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/aanlktimmkfkmguobf8czc=sm=hrjnzjbrremfjc+-...@mail.gmail.com



Ajuda com shell scritp

2010-08-06 Por tôpico Leandro Moreira
Caros,
Estou criando um script que faz um contador que armazena dentro de um
arquivo o valor anterior e usa este para realizar o proximo salto, o
contador estar funcionando perfeitamente, conforme abaixo:

COUT="/home/lmoreira/script-dev/vpn/serial"
CONTADOR=`cat $COUT`
if [  $CONTADOR -eq $CONTADOR ]; then
  let CONTADOR=$CONTADOR+1;
  echo "Contador em: $CONTADOR";

fi
echo "$CONTADOR" > serial

So que eu preciso que o numero seja implementado com 3casas decimais tipo
001,002,003 pois vou usar essa informação também no meu scritp de firewall
para realizar liberação de portas, algume pode me ajudar a formatar esse
numero.

Att.

-- 
Leandro Moreira
Network Administrator
LPIC1 - Linux Professional Institute Certified
e-mail/msn: lean...@leandromoreira.eti.br
Tel.: + 55(32) 9906-5713