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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#!/bin/sh while test -n "$1"; do case "$1" in -a) opciona=$2 echo "opcion a $opciona...." shift ;; -b) opcionb=$2 echo "opcion a $opcionb...." shift ;; -c) opcionc=$2 echo "opcion a $opcionc...." shift ;; -d) opciond=$2 echo "opcion a $opciond...." shift ;; *) echo "Unknown argument: $1" exit 0 ;; esac shift done |