Error al ejecutar bucles (for / while) - Solucionado

Imagen de juan p 009
0 puntos

Hola.
Hoy al tratar de hacer un pequeño script y necesitar una reiteración me he encontrado que se generaban errores.
Pensando que no sabía lo que hacía, he buscado algunos ejemplos básicos de bucle (for/while) y el resultado es el mismo.

Ejempo 1:
========

script:
-------------------------------------------------------
#!/bin/bash
limite=5
i=0;

while [[ $limite -ge $i ]]
do
echo Acción $i ejecutada
let i=$i+1
done
--------------------------------------------------------

resultado de su ejecución en el terminal:

con bash:

juanp@estudio-desktop:~/script/pruebas$ bash provi001.sh
provi001.sh: línea 3: $'\r': orden no encontrada
provi001.sh: línea 4: $'\r': orden no encontrada
provi001.sh: línea 5: error sintáctico en la expresión condicional
'rovi001.sh: línea 5: error sintáctico cerca de `]]
'rovi001.sh: línea 5: `while [[ $limite -ge $i ]]

con sh:

juanp@estudio-desktop:~/script/pruebas$ sh provi001.sh
: not found: 3: provi001.sh:
: not found: 4: provi001.sh:
provi001.sh: 11: provi001.sh: Syntax error: end of file unexpected (expecting "do")
juanp@estudio-desktop:~/script/pruebas$

Ejemplo 2:
========

script
--------------------------------------------------------
#!/bin/bash
for i in 1 2 3 4 5
do
echo "Welcome $i times"
done
--------------------------------------------------------

resultado de su ejecución en el terminal:

con bash:

juanp@estudio-desktop:~/script/pruebas$ bash provi001.sh
provi001.sh: línea 3: error sintáctico cerca del elemento inesperado `$'do\r''
'rovi001.sh: línea 3: `do

con sh:
juanp@estudio-desktop:~/script/pruebas$ sh provi001.sh
provi001.sh: 3: provi001.sh: Syntax error: word unexpected (expecting "do")

Tengo instalado Ubuntu 12.04 LTS

Muchas gracias de antemano
Saludos
Juan P

Imagen de ipako
+1
+1
-1

Hola amigo. Es probable que se estén ingresando caracteres no imprimibles a tu script. Estás copiando y pegando? Como bien dices, tanto con bash como sh los resultados deberían ser correctos permitiendo la ejecución. Que shell estás utilizando en tu terminal?

Saludos.
---------------------
Pako
http://ipako.info

+1
+1
-1
Imagen de rioport
+1
0
-1

Hay caracteres que no son visibles pero que están ahí ( \r - CR o carriage return). ¿De dónde has obtenido esos scripts?.

+1
0
-1

-- GC --

Imagen de juan p 009
+1
0
-1

Efectivamente era lo que me habéis comentado, los caracteres no visibles/imprimibles.

Muchas gracias.

+1
0
-1