scripts script resueltos programas operaciones manejo ejercicios ejemplos cadenas aritmeticas bash getopt getopt-long

bash - programas - scripts linux ejercicios resueltos



¿Cómo admitir opciones cortas y largas al mismo tiempo en bash? (1)

getopt soporta opciones largas.

http://man7.org/linux/man-pages/man1/getopt.1.html

Aquí hay un ejemplo usando tus argumentos:

#!/bin/bash OPTS=`getopt -o axby -l long-key: -- "$@"` if [ $? != 0 ] then exit 1 fi eval set -- "$OPTS" while true ; do case "$1" in -a) echo "Got a"; shift;; -b) echo "Got b"; shift;; -x) echo "Got x"; shift;; -y) echo "Got y"; shift;; --long-key) echo "Got long-key, arg: $2"; shift 2;; --) shift; break;; esac done echo "Args:" for arg do echo $arg done

Salida de $ foo -ax --long-key val -b -y SOME FILE NAMES :

Got a Got x Got long-key, arg: val Got b Got y Args: SOME FILE NAMES

Quiero admitir opciones tanto cortas como largas en scripts de bash , para que uno pueda:

$ foo -ax --long-key val -b -y SOME FILE NAMES

¿Es posible?