Advertisement
febrezo

Bash, basic parameters processing

May 27th, 2012
1,281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.02 KB | None | 0 0
  1. #!/bin/bash
  2. printf "$0 | %i parámetro(s) recibido(s): \t%s\n" "$#" "$*"
  3.  
  4. # Ayuda y modo de empleo
  5. mostrarAyuda () {
  6.     echo -e "$0 | USO:"
  7.     echo -e "$0 | \t./getopts.sh [-a | -b <VALOR> | -h]"
  8.     echo -e "$0 | OPCIONES:"
  9.     echo -e "$0 | \t-a\tla primera opción."
  10.     echo -e "$0 | \t-b\tla segunda opción, que recibe además un valor"
  11.     echo -e "$0 | \t-h\tmuestra la ayuda"
  12. }
  13.  
  14. # Procesamiento de parámetros
  15. while getopts ':ab:h' OPCION; do
  16.     case $OPCION in
  17.     a) 
  18.         echo -e "$0 | Se ha introducido el argumento a)."
  19.         ;;
  20.     b)
  21.         echo -e "$0 | Se ha introducido el argumento b)!"
  22.         echo -e "$0 | El valor recibido es:\t" $OPTARG
  23.         ;;
  24.     h)
  25.         mostrarAyuda
  26.         ;;
  27.     ?)
  28.         echo -e "$0 | ERROR: -$OPTARG no es un parámetro válido."
  29.         mostrarAyuda
  30.         exit 1;
  31.         ;;
  32.     esac
  33. done
  34.  
  35. # Resto de parámetros
  36. shift $(($OPTIND-1))
  37. printf "$0 | %i parámetros no procesados: %s\n" "$#" "$*"
  38.  
  39. # Y los podremos acceder de cualquiera de las dos maneras
  40. for par in $*; do
  41.     echo $par
  42. done
  43. # o
  44. for i in $(seq 1 $#); do
  45.     echo $i
  46. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement