viernes, 9 de agosto de 2013

Linux bash

En esta ocasión vamos a crear un sencillo menú para realizar algunas tareas sencillas en shell linux.

Puedes utilizar cualquier editor de notas para realizarlo.

El archivo se llamará "menu.sh", lo guardamos en un directorio (ej. /home/usuario) le damos los permisos necesarios para ejecución.






Creamos una función:
menu(){
 # ... aquí el código
 # ...
}

Colocamos las opciones:
echo "1. Mandar un ping a codemokeyjunior.blogspot.com"
echo "2. Ver que usuarios están conectados a mi máquina"
echo "3. Ver procesos en ejecución"
echo "4. Salir"

Pedimos al usuario elija alguna opción:
echo "Elije opción:"
read opc

Usamos la estructura "case":
case $opc in
  1)  ping -c 3 codemonkeyjunior.blogspot.com ;;
  2) who ;;
  3) top ;;
  *) echo "salir" ;;
esac

Sin embargo el menú solo permite ejecutar una acción, para que el menú permanezca activo crearemos otra función que servirá para invocarlo.

activa(){
  usuario=$(whoami)
  if [ "$USER"="$usuario" ]; then
     menu  #invocamos el menú
  else
    echo usuario no registrado
  fi
}

activa

Modificamos el menú:
case $opc in
  1)  ping -c 3 codemonkeyjunior.blogspot.com
      activa
     ;;
  2) who
      activa
     ;;
  3) top
    activa
    ;;
  *) echo "salir" ;;
esac

Listo ya tenemos un menú.  Código completo http://www.pasteall.org/44716/bash