Script contador so com variavel [RESOLVIDO]

1. Script contador so com variavel [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 10/09/2010 - 15:34h

Pessoal estou com uma ideia em mente, e o prototipo inicial é um script que teria de ficar contando, mais na pratica não deu certo:

#!/bin/sh
conta=$(($conta+1))

contar() {
echo "$conta"
}

contar
sleep 1
$0

A minha teoria era de que ele ia contar 1 2 3 4... ate eu matar o script, so que ele so mostra 1 1 1 1.... a variavel não esta se somando, este metodo que eu fiz não funciona mesmo ou errei em alguma coisa?


  


2. Re: Script contador so com variavel [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/09/2010 - 19:12h

Quando um script roda ele zera todos os valores de variáveis contidas nele.

Diferentemente de um sub shell, como acontece com uma função, estes valores são mantidos, já que ela esta contida dentro do script que a chamou.

Então, use export para tornar o valor de uma variavel global para o usuário que executou o script... ;P




#!/bin/sh
# see more http://sekysu.blogspot.com

export conta=$(( $conta + 1 ))
sleep 1
echo -n " $conta "

$0

exit



3. Re: Script contador so com variavel [RESOLVIDO]

Rubens Brandão
construidor

(usa Arch Linux)

Enviado em 10/09/2010 - 20:08h

Gostaria de complementar ./.ronin, pois um loop infinito seria algo mais interessante em um shell script, pois assim evitaria criar uma variável global.


#!/bin/sh

contar() {
echo "$conta"
}

while true
do
conta=$(($conta+1))
contar
sleep 1
done


4. Re: Script contador so com variavel [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/09/2010 - 20:32h

Bem, eu achei que ele queria testar sua "teoria"...

Assim seria bem mais eficiente, concorda???


#!/bin/bash
# more http://sekysu.blogspot.com
while : ; do
sleep 1
echo -ne " $(( $cont + 1 )) ";
done

exit


5. Re: Script contador so com variavel [RESOLVIDO]

Rubens Brandão
construidor

(usa Arch Linux)

Enviado em 10/09/2010 - 20:48h

Realmente seu codigo ficou mais eficiente, mais faltou o somador:

#!/bin/bash
cont=0
while : ; do
cont=$(( $cont + 1 ))
echo "$(( $cont + 1 ))";
sleep 1
done
exit


6. Muito obrigado por lembrar...

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/09/2010 - 20:59h

#!/bin/sh
# more http://sekysu.blogspot.com
cont=0

while : ; do
echo -n "$cont "
let cont=cont+1;
sleep 0.032s
done

exit


7. Re: Script contador so com variavel [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 11/09/2010 - 15:26h

Legal funcionou certinho aqui, fiz um "mix" do que voces postaram:

#!/bin/sh
while : ; do
cont=$(($cont+1))
echo $cont
sleep 1
done
exit

blz! agora da pra eu comessar a por a indeia em pratica.
Obrigado Ronin e Contruiodor!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts