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

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

RES: [shell-script] Somatorio de numeros digitados


From: Listeiros
Subject: RES: [shell-script] Somatorio de numeros digitados
Date: Sat, 30 Nov 2013 11:38:09 -0200

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:

 

[$sair = 0]

 

é o mesmo que fazer:

 

test$sair = 0

 

Não pode dar certo, não é?

 

Já que vc está começando, leia isso aqui que é fácil e rápido. Se gostar, o livro completo fica aqui.


Abcs,

Julio

A partir de 02/12 estarei ministrando um curso completo de Shell no Rio de Janeiro.

@juliobash

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

 


reply via email to

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