Com certeza Júlio, Muito legal esse material que você indicou. Valeu mesmo! []´s De: address@hidden [mailto:address@hidden] Em nome de Julio C. Neves Enviada em: sexta-feira, 29 de novembro de 2013 23:52 Para: address@hidden Assunto: Re: [shell-script] Somatorio de numeros digitados Os espaços são importantíssimos em Shel, pq são eles que separam os cmds de seus argumentos. O problema no seu caso foi que [ é o cmd test, assim vc fazendo: Não pode dar certo, não é?
A partir de 02/12 estarei ministrando um curso completo de Shell no Rio de Janeiro. Facebook? Neither that the cow cough... Em 29 de novembro de 2013 20:23, Listeiros <address@hidden> escreveu: Valeu MrBits...
Eu não sabia que os espaços faziam diferença no shell script.
Somente quando se utiliza o [ ou tem amis algum item que faz a diferença?
-----Mensagem original----- De: address@hidden [mailto:address@hidden] Em nome de MrBiTs Enviada em: sexta-feira, 29 de novembro de 2013 08:57 Para: address@hidden Assunto: Re: [shell-script] Somatorio de numeros digitados
> Pessoal, boa noite... > Sou novato no shell script então venho pegando algumas brincadeiras > para fazer ou então vejo algum script feito para rodar no Windows e tento reproduzir ele no Shell Script e tal... Acho que testando e brincando vamos aprendendo... > Eu estou tentando fazer uma coisa aparentemente simples aqui mas o resultado não está saindo... Segue abaixo: > Criei um script para pegar todos os números que forem digitados > (manualmente por alguém) e me retornar a soma desses números quando a > pessoa digitar 0 (por exemplo). Estou utilizando o comando WHILE por que quero ver como funciona e tal... Mas o danado está acusando erro e não traz o resultado esperado. > Segue o que eu fiz até o momento: > > #!/bin/bash > > soma=0 > > num=0 > > sair=0 > > while [$sair = 0] > > do > > echo "Entre com o numero:" > > read -p "Numero:" num > > soma=$num > > soma=$(($soma + $num)) > > done > > echo "A soma dos números é:"
O test ([) exige espaços entre a definição da variável. O seu [$sair = 0] está fazendo com que o script não entenda que o alias [ está sendo chamado. Além disso, a comparação está errada. Faça algo como while [ $sair -eq 0 ] e tudo vai funcionar.
--
LLAP
.0. MrBiTs - address@hidden .'. ..0 GnuPG - http://keyserver.fug.com.br:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5A B 000 http://www.mrbits.com.br
------------------------------------
---------------------------------------------------------- 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
--- spam free by SafestMail4Outlook - www.sa4o.com |