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