-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola On Monday 09 December 2002 15:19, sitalopez wrote: > Hola, > Una duda que quiz� para muchos sea una novatada, pero a mi no me sale. > Tengo una duda con la condici�n "if" y "endif" "fi" de este script. Leo > manuales y todos dicen que lo hago bien, pero no me sale. > �alguien me puede hechar una mano? > > #fichero1.sh > echo "introduce n�mero" > read n; las referencias a las variables se deben hacer con $variable si lees n debes comparar $n Ej: read n echo $n
No me suena la encapsulaci�n en par�ntesis en sh pero podr�a ser... los operadores de una condici�n test nunca deben tocar los corchetes ten en cuenta que [ es un enlace duro a test ( son el mismo archivo ) ser�a como escribir testn en vez de test n ( recuerda que es $n. Por otro lado para comparar campos num�ricos no se debe utilizar el operador igual, deber�as usar -eq > if ([n=1] then) echo "uno" Con lo que tu condici�n se transforma en if [ "$n" -eq 1 ]; then echo "uno" si quieres que pueda trabajar con cualquier caracter y no solo con n�meros si puedes utilizar el operador = ( los tratas como caracteres y no como n�meros ) mejora la tolerancia a fallos lo mismo has de aplicarlo en las siguientes l�neas > elif ([n=2] then) echo "dos" > else echo "ni uno ni dos" solo tienes un bucle if ( fi es if al rev�s ;-) > fi este te sobrar�a > fi Compara con el tuyo �ste: #!/bin/sh echo "introduce n�mero" read n if [ $n = 1 ] then echo "uno" elif [ $n -eq 2 ] then echo "dos" else echo "ni uno ni dos" fi en cualquier caso para esas cosas te recomiendo el sencillo pero siempre interesante select #!/bin/bash select eleccion in uno dos tres cuatro salir do if [ $eleccion = salir ] then echo "Saliendo" exit 0 fi if [ $eleccion = uno ] then echo "eleccion vale 1" elif [ $eleccion = dos ] then echo "eleccion vale 2" else echo "eleccion vale tres o cuatro" fi done En cualquier caso, y para m�s y mejores detalles: La gu�a de scripting avanzado ( ojo es para bash ) http://www.tldp.org/LDP/abs/html/index.html Saludos Victor -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE99LSOEzqHF8R72ekRAmLsAKCZ5YbxMJCwWvdXGVxSPvFPCCXCLgCgkBjl wwOdq8MEh2YlXQqETm8d7Lc= =4dM1 -----END PGP SIGNATURE-----

