Pues estoy empezando a hacer algun script que otro y tengo una duda que no he podido resolver mirando tutoriales, haber si me la podias resolver.
El caso esque hago un function, despues lo llamo, ejecuta todas las ordenes perfectamente, pero cuando termina la function he hecho un if fi con S o N para volver a ejecutar la function, pero el problema es que al teclear S, se me sale del script.
Os pongo el script haber si os aclarais mejor.
#!/bin/bash
function NUM {
OPCIONES="1 2 3"
echo " Que numero elijes?"
if [ $opc = ]; then
select opc in $OPCIONES; do
break;
done
fi
echo has tecleado $opc
}
NUM
echo Quieres volver a elejir un numero? Teclea s o n
read sn
if [ $sn = s ]; then
echo Has seleccionado volver a elejir un numero
NUM
elif [ $sn = n ]; then
echo "Has elegido Salir del Script, hasta otra :)."
exit
else
echo No has tecleado la respuesta correcta, salgo del script de todas maneras.
exit
fi
debian:/home/arane/script/creando# ./select2
Que numero elijes?
1) 1
2) 2
3) 3
#? 1
has tecleado 1
Quieres volver a elejir un numero? Teclea s o n
s
Has seleccionado volver a elejir un numero
Que numero elijes?
./select2: line 6: [: 1: unary operator expected
has tecleado 1
debian:/home/arane/script/creando#
Gracias.