Hola a todos.
Esta misma tarde me he puesto a programar python. Hace una semana más o menos, estaba aburrido y me dio por hacer un instalador para Linux en Shell Scripts (es una tonteria, pero al menos estube entretenido) y busque en google la forma de ponerle un menu y anclar cada opcion del menu a su correspondiente accion.
Ahora estoy intentando hacerlo en Python, pero no consigo hacer el menu ni anclar las opciones a una funcion para colocar los comandos (que logicamente he de ponerlos en Shell Scripts, pero eso si se como se hace) Podrian darme alguna solucion? Estoy bastante ilusionado con este tema.
Gracias de antemano.
La cosa me quedo más o menos asi en Shell Script
Código bash:
Ver original#/bin/sh
clear
#------------------------ Menu -------------------------------------
echo "Instalador Gnu/Linux de gonzo"
echo "========="
echo "Seleeciona la opción deseada"
echo "1.- Actualizar repositorios."
echo "2.- Actualizar la distribucion."
echo "3.- Instalar una aplicación."
echo "4.- Desinstalar una aplicación."
echo "5.- Salir."
#------------------------- Fin menu ------------------------------------
read opcion
case $opcion in
#------------------ Inicio opcion 1 -------------------
1)
echo "Bienvenido al actualizador de repositorios"
echo "Se actualizaran los repositorios a continuación, ¿Desea continuar?[S/n]"
read resp
if test $resp = s
then
sudo apt-get -qq update && echo "Actualización de repositorios..."&& sleep 1 && echo "[ok]" || echo "[fail]"
#------- Fin actualizacion de repositorios -----------------------
echo "¿Desea hacer otra operacion? [S/n]"
read new
if test $new = s
then
sh instalador.sh
else
echo "Saliendo del instalador.... [ok]"
fi
else
echo "Actualizacion cancelada por el usuario..."
fi
;;
#---------------------- Fin opcion 1 --------------------------
#---------------------- Inicio opcion 2 -------------------------
2)
echo "Bienvenido al actualizador de tu distribucion Gnu/Linux"
echo "Es recomendable actualizar tus repositorios ahora, ¿quieres hacerlo? Tu distribución se actualizara igualmente [S/n]"
read ans
if test $ans = s
then
sudo apt-get -qq update
sudo apt-get -qq -y dist-upgrade && echo "Distribucion actualizada...."
echo "¿Desea hacer otra operacion? [S/n]"
read nuv
if test $nuv = s
then
sh instalador.sh
else
echo "Saliendo del instalador.... [ok]"
fi
else
echo "No se actualizaran los repositorios, quieres empezar con la actualizacion de tu distribucion?[S/n]"
read actual
if test $actual = s
then
sudo apt-get -qq -y dist-upgrade && echo "Distribucion actualizada...."
echo "¿Desea hacer otra operacion? [S/n]"
read nuev
if test $nuev = s
then
sh instalador.sh
else
echo "Saliendo del instalador...."&& echo "[ok]"|| echo "Operacion errónea"
fi
else
echo "Saliendo del instalador.... [ok]"
fi
fi
;;
#-------------- Fin opcion 2 ----------------------
#-------------- Inicio opcion 3 ---------------------
3)
echo "Bienvenido al instalador de aplicaciones"
echo "Introduce el nombre del programa a instalar:"
read prog
echo "¿Seguro que quieres instalar: "$prog"? [S/n]"
read ans
if test $ans = s
then
sudo apt-get install -y $prog && echo "Instalación completada con éxito"|| echo "Instalacion errónea o innecesaria"
echo "¿Desea hacer otra operacion? [S/n]"
read nov
if test $nov = s
then
sh instalador.sh
else
echo "Saliendo del instalador.... [ok]"
fi
else
echo "Instalacion abortada por el usuario..."
fi
;;
#------------ Fin opcion 3 ------------------
#------------ Inicio opcion 4 -----------------
4)
echo "Bienvenido al desinstalador de aplicaciones"
echo "Introduce el nombre del programa a desinstalar:"
read progr
echo "¿Seguro que quieres instalar: "$progr"? [S/n]"
read ansr
if test $ansr = s
then
sudo apt-get remove --purge -y $progr && echo "Desinstalación completada con éxito"|| echo "Desinstalacion errónea o innecesaria"
echo "¿Desea hacer otra operacion? [S/n]"
read nova
if test $nova = s
then
sh instalador.sh
else
echo "Saliendo del instalador.... [ok]"
fi
else
echo "Desinstalacion abortada por el usuario..."
fi
;;
#------------ Fin opcion 4 ----------------------
#------------ Inicio opcion 5 ----------------------
5)
echo "Saliendo del instalador.... [ok]"
;;
#----------- Fin opcion 5 -------------------------
esac
echo "Gracias por tu confianza"
exit 0