Não consigo executar o ciclo for

1. Não consigo executar o ciclo for

Matheus Felipe Rambo Blume
rambosaiyajin3

(usa Ubuntu)

Enviado em 23/01/2017 - 20:46h

Pessol é o seguinte, estou estudando o Shell Script por pdf, já sou adepto à programação pois curso JAVA, porém não consigo executar um simples ciclo for.

Copiei o mesmo da apostila, porém sempre retorna um erro de sintaxe.

Aqui vai o ciclo!
#!/bin/bash


echo "Teste" ;

for (( loop=0; loop<3; loop++ )) ; do
echo "ok";
done

Pode já deixei tudo junto, tudo separado, mas não funciona!

Sei que é um erro bobo, mas estou ficando louco com isso!


  


2. Re: Não consigo executar o ciclo for

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 23/01/2017 - 22:35h

rambosaiyajin3 escreveu:
Pessol é o seguinte, estou estudando o Shell Script por pdf, já sou adepto à programação pois curso JAVA, porém não consigo executar um simples ciclo for.
Pode já deixei tudo junto, tudo separado, mas não funciona!
Sei que é um erro bobo, mas estou ficando louco com isso!


V aí se vc tem uma luz !!!
https://www.cyberciti.biz/faq/bash-for-loop/
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


3. Re: Não consigo executar o ciclo for

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 24/01/2017 - 01:17h

O erro está no sinal de ; colocados no final do comando do echo. Abaixo segue a correção do código:

#!/bin/bash

echo "Teste"

for (( loop=0;loop<3;loop++ ))
do
echo "OK"
done


Funcionando sem problemas.
_________________________
"GNU/Linux for human beings."

ºvº "Software Livre: não é pelo dinheiro.
/( _ ) É uma questão de consciência."
^ ^




4. Re: Não consigo executar o ciclo for

Matheus Felipe Rambo Blume
rambosaiyajin3

(usa Ubuntu)

Enviado em 25/01/2017 - 19:27h

Mesmo erro, o shell ignora o ";" apenas coloco ele, por ter o costume de outras linguagens, o ciclo for funciona no shell, mas no shell Script não!


5. Re: Não consigo executar o ciclo for

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 25/01/2017 - 19:45h

rambosaiyajin3 escreveu:

Mesmo erro, o shell ignora o ";" apenas coloco ele, por ter o costume de outras linguagens, o ciclo for funciona no shell, mas no shell Script não!


aqui funcionou

mauricio@phantom:~$ ./doc
Teste
OK
OK
OK
mauricio@phantom:~$ cat doc
#!/bin/bash

echo "Teste"

for (( loop=0;loop<3;loop++ ))
do
echo "OK"
done
mauricio@phantom:~$

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


6. Re: Não consigo executar o ciclo for

Matheus Felipe Rambo Blume
rambosaiyajin3

(usa Ubuntu)

Enviado em 25/01/2017 - 20:49h

O erro é o seguinte, no terminal, tentando executar o Script com o "sh" , dá erro de sintaxe!

Agora usando o " ./ " funciona!


7. Re: Não consigo executar o ciclo for

Perfil removido
removido

(usa Nenhuma)

Enviado em 25/01/2017 - 20:54h

Qual a versão do seu bash (ver com bash --version | head -n1)? O estilo C (usando (( e )) para loops) só funciona com a versão 2.04 do bash ou mais recente.

*Evite de executar scripts bash com o sh, que é uma versão mais antiga (e não suporta estilo C). Execute os scripts assim:
./script 

--
Linux Counter: #596371


8. Re: Não consigo executar o ciclo for

Matheus Felipe Rambo Blume
rambosaiyajin3

(usa Ubuntu)

Enviado em 25/01/2017 - 21:37h

Sim, era isso mesmo. Estava usando sempre o "sh", em ciclos usando o
for i in (seq 10) ;
Funciona normal com o sh!
Vlw






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts