Bash: captura de parámetros en un script
Lunes, 1 de marzo de 2010
Para hacer nuestros scripts más potentes, a veces nos puede interesar permitir que nuestros parámetros se pasen precedidos de la opción a la que corresponden. Con esto podríamos hacer cosas como:
# miscript -a opciona -b opcionb -d opciond # miscript -b opcionb -c opcionc
Para hacer esto podemos añadir el siguiente código a nuestro script:
while test -n "$1"; do
case "$1" in
-a)
opciona=$2
shift
;;
-b)
opcionb=$2
shift
;;
-c)
opcionc=$2
shift
;;
-d)
opciond=$2
shift
;;
*)
echo "Unknown argument: $1"
print_usage
exit 0
;;
esac
shift
done
# Grab the command line arguments
#logfile=$1
#bookmark=$2
#critical=$3
#warning=$4
#exclude=$5
exitstatus=$STATE_WARNING #default
while test -n “$1″; do
case “$1″ in
-l)
logfile=$2
shift
;;
-b)
bookmark=$2
shift
;;
-c)
critical=$2
shift
;;
-w)
warning=$2
shift
;;
-e)
exclude=$2
shift
;;
*)
echo “Unknown argument: $1″
print_usage
exit $STATE_UNKNOWN
;;
esac
shift
done
