> 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.