¿Qué estoy haciendo mal? Condicionales en bash.

Iniciado por ryx0, 10 Marzo 2017, 21:42 PM

0 Miembros y 1 Visitante están viendo este tema.

ryx0

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.

engel lex

como estás probando el script? cual sistema operativo y como lo guardas?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ryx0

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.

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ryx0

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.