Foro de elhacker.net

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
  1. echo 'Adivina el valor numerico de la variable'; read A
  2. if [ $A = 1 ];then
  3. echo 'Has acertado'
  4. else
  5. echo 'Error, te has equivocado'
  6. 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
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
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.