miércoles, 24 de enero de 2018

PROGRAMAR UN SCRIPT CON OPCIONES PARA ORDENES DE COMANDOS

Hoy vengo a explicarte un poco para que intentes programar un script muy fácil de usar para tus antojos con comandos.

Antes de empezar quiero aclarar que puedes modificarlo a tu gusto y usarlo a tu gusto, en mi caso será actualización de repositorios.

Para hacer rápido vamos a usar menús que serán "check repo, Update repo, Exit".

CODE

#!/bin/bash
function mainmenu {
echo -e "
 ▄████▄   ██▀███  ▓█████ ▄▄▄      ▓█████▄  ██▓███   ▄▄▄        ▄████ 
▒██▀ ▀█  ▓██ ▒ ██▒▓█   ▀▒████▄    ▒██▀ ██▌▓██░  ██▒▒████▄     ██▒ ▀█▒
▒▓█    ▄ ▓██ ░▄█ ▒▒███  ▒██  ▀█▄  ░██   █▌▓██░ ██▓▒▒██  ▀█▄  ▒██░▄▄▄░
▒▓▓▄ ▄██▒▒██▀▀█▄  ▒▓█  ▄░██▄▄▄▄██ ░▓█▄   ▌▒██▄█▓▒ ▒░██▄▄▄▄██ ░▓█  ██▓
▒ ▓███▀ ░░██▓ ▒██▒░▒████▒▓█   ▓██▒░▒████▓ ▒██▒ ░  ░ ▓█   ▓██▒░▒▓███▀▒
░ ░▒ ▒  ░░ ▒▓ ░▒▓░░░ ▒░ ░▒▒   ▓▒█░ ▒▒▓  ▒ ▒▓▒░ ░  ░ ▒▒   ▓▒█░ ░▒   ▒ 
  ░  ▒     ░▒ ░ ▒░ ░ ░  ░ ▒   ▒▒ ░ ░ ▒  ▒ ░▒ ░       ▒   ▒▒ ░  ░   ░ 
░          ░░   ░    ░    ░   ▒    ░ ░  ░ ░░         ░   ▒   ░ ░   ░ 
░ ░         ░        ░  ░     ░  ░   ░                   ░  ░      ░ 
░                                  ░                                 "

select menusel in "Check repo" "Update repo" "EXIT"; do
case $menusel in
 "Check repo")
      cat /etc/apt/sources.list
  exit 1 ;;
 "Update repo")
  apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade
  exit 1 ;;
 "EXIT")
  clear && exit 0 ;;
  
 * )
  screwup
  clear ;;
esac

break

done
}

while true; do mainmenu; done
Recuerda al agregar "function mainmenu" es para un menú si quieres continuar a otro menú tenes que agregar otra función y agregar el nombre de la siguiente opción. "select menusel" Es la opciones que va aparecer en las opciones del menú, recuerda separado con comillas y todo tiene que estar en orden. Luego de agregar las opciones colocas un comando que quiere que ejecute, luego agregar exit 1 para que termine y cierre el programa. Es demasiado fácil, ahora vamos a programar agregar más opciones atrás de otra.
#!/bin/bash
## otra opcion
function repo {
 clear
echo -e "
 ▄████▄   ██▀███  ▓█████ ▄▄▄      ▓█████▄  ██▓███   ▄▄▄        ▄████ 
▒██▀ ▀█  ▓██ ▒ ██▒▓█   ▀▒████▄    ▒██▀ ██▌▓██░  ██▒▒████▄     ██▒ ▀█▒
▒▓█    ▄ ▓██ ░▄█ ▒▒███  ▒██  ▀█▄  ░██   █▌▓██░ ██▓▒▒██  ▀█▄  ▒██░▄▄▄░
▒▓▓▄ ▄██▒▒██▀▀█▄  ▒▓█  ▄░██▄▄▄▄██ ░▓█▄   ▌▒██▄█▓▒ ▒░██▄▄▄▄██ ░▓█  ██▓
▒ ▓███▀ ░░██▓ ▒██▒░▒████▒▓█   ▓██▒░▒████▓ ▒██▒ ░  ░ ▓█   ▓██▒░▒▓███▀▒
░ ░▒ ▒  ░░ ▒▓ ░▒▓░░░ ▒░ ░▒▒   ▓▒█░ ▒▒▓  ▒ ▒▓▒░ ░  ░ ▒▒   ▓▒█░ ░▒   ▒ 
  ░  ▒     ░▒ ░ ▒░ ░ ░  ░ ▒   ▒▒ ░ ░ ▒  ▒ ░▒ ░       ▒   ▒▒ ░  ░   ░ 
░          ░░   ░    ░    ░   ▒    ░ ░  ░ ░░         ░   ▒   ░ ░   ░ 
░ ░         ░        ░  ░     ░  ░   ░                   ░  ░      ░ 
░                                  ░                                 "

select menusel in "Check repo" "worpdress" "Sociales" "atrás"; do
case $menusel in
 "Check repo")
      cat /etc/apt/sources.list
  exit 0;;
 "worpdress")
  curl -sSL http://api.wordpress.org/core/version-check/1.7 | jq -r .offers[0].current
  exit 1 ;;
 "Sociales")
  firefox https://www.facebook.com/radiocreadpag
  firefox https://www.youtube.com/c/creadpag
  firefox https://creadpag.com
  exit 1 ;;
 "atrás")
  clear
  mainmenu ;;
 * )
  screwup
  clear ;;
esac

break

done
}


function mainmenu {
echo -e "
 ▄████▄   ██▀███  ▓█████ ▄▄▄      ▓█████▄  ██▓███   ▄▄▄        ▄████ 
▒██▀ ▀█  ▓██ ▒ ██▒▓█   ▀▒████▄    ▒██▀ ██▌▓██░  ██▒▒████▄     ██▒ ▀█▒
▒▓█    ▄ ▓██ ░▄█ ▒▒███  ▒██  ▀█▄  ░██   █▌▓██░ ██▓▒▒██  ▀█▄  ▒██░▄▄▄░
▒▓▓▄ ▄██▒▒██▀▀█▄  ▒▓█  ▄░██▄▄▄▄██ ░▓█▄   ▌▒██▄█▓▒ ▒░██▄▄▄▄██ ░▓█  ██▓
▒ ▓███▀ ░░██▓ ▒██▒░▒████▒▓█   ▓██▒░▒████▓ ▒██▒ ░  ░ ▓█   ▓██▒░▒▓███▀▒
░ ░▒ ▒  ░░ ▒▓ ░▒▓░░░ ▒░ ░▒▒   ▓▒█░ ▒▒▓  ▒ ▒▓▒░ ░  ░ ▒▒   ▓▒█░ ░▒   ▒ 
  ░  ▒     ░▒ ░ ▒░ ░ ░  ░ ▒   ▒▒ ░ ░ ▒  ▒ ░▒ ░       ▒   ▒▒ ░  ░   ░ 
░          ░░   ░    ░    ░   ▒    ░ ░  ░ ░░         ░   ▒   ░ ░   ░ 
░ ░         ░        ░  ░     ░  ░   ░                   ░  ░      ░ 
░                                  ░                                 "

select menusel in "otras opciones" "Update repo" "EXIT"; do
case $menusel in
 "otras opciones")
     repo
  exit 1 ;;
 "Update repo")
  apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade
  exit 1 ;;
 "EXIT")
  clear && exit 0 ;;
  
 * )
  screwup
  clear ;;
esac

break

done
}

while true; do mainmenu; done

Como observamos podemos agregar más opciones y seguir ordenando comandos, yo sé que es un poco sencillo pero para empezar está muy bueno porque pronto publicare un script que te va a ayudar a obtener datos de un sitio web. Ahora no te olvides en compartirlo para seguir publicando algunos script para tu ayuda!

No hay comentarios. :

Publicar un comentario