Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: ryx0 en 10 Marzo 2017, 21:42 PM

Título: ¿Qué estoy haciendo mal? Condicionales en bash.
Publicado por: ryx0 en 10 Marzo 2017, 21:42 PM
Hola,

Cuando intento hacer condicionales en bash me sale el siguiente error.

Ejemplo de script:

Código (bash) [Seleccionar]

echo 'Adivina el valor numerico de la variable'; read A
if [ $A = 1 ];then
echo 'Has acertado'
else
echo 'Error, te has equivocado'
fi


Error:

Citar

./script.sh: line 2: $´\r´: command not found
Adivina el valor numerico de la variable
´:not a valid identifier: A´
./script.sh: line 9: syntax error: unexpected end of file.

Cuando pruebo los condicionales, también me falla mucho que no me detecta el fi, no me lo interpreta.

Un saludo.
Título: Re: ¿Qué estoy haciendo mal? Condicionales en bash.
Publicado por: engel lex en 10 Marzo 2017, 22:58 PM
como estás probando el script? cual sistema operativo y como lo guardas?
Título: Re: ¿Qué estoy haciendo mal? Condicionales en bash.
Publicado por: ryx0 en 10 Marzo 2017, 23:22 PM
Cita de: engel lex en 10 Marzo 2017, 22:58 PM
como estás probando el script? cual sistema operativo y como lo guardas?

Hola,

SO Ubuntu, también lo he probado en la shell de bash que trae Windows 10.

Le doy permisos de ejecución (chmod +x) y lo lanzo ./script.sh

También he probado con source o sh script.sh.

Por lo que veo el problema es debido a que no interpreta bien el comando if.

Un saludo.
Título: Re: ¿Qué estoy haciendo mal? Condicionales en bash.
Publicado por: engel lex en 10 Marzo 2017, 23:28 PM
El error no es el if, es la codificación del fichero, asegurarte de guardarlo en utf8, yo en mi máquina copio y pego eso y corre bien, el script debería correr
Título: Re: ¿Qué estoy haciendo mal? Condicionales en bash.
Publicado por: ryx0 en 10 Marzo 2017, 23:43 PM
Cita de: engel lex en 10 Marzo 2017, 23:28 PM
El error no es el if, es la codificación del fichero, asegurarte de guardarlo en utf8, yo en mi máquina copio y pego eso y corre bien, el script debería correr

Hola,

Como has dicho el error estaba en la codificación UTF8, Notepad++ me lo guardaba en otra codificación.

Muchas gracias y un saludo.