Ich habe eine gemeinsame Bibliothek, die ich aus mehreren Skripten verwende, die Befehlszeilenoptionen parsen, aber ich möchte auch, dass meine einzelnen Skripte in der Lage sind, Argumente zu verarbeiten... z. B.
common.sh:
function get_options {
echo -e "in getoptions"
echo $OPTIND
while getopts ":ab:" optionName; do
[ ... Bearbeitungscode ... ]
done
}
a.sh
. ./common.sh
function get_local_options {
echo -e "in getoptions"
echo $OPTIND
while getopts ":xy:" optionName; do
[ ... Bearbeitungscode ... ]
done
}
get_local_options $*
OPTIND=1
get_options $*
Das Problem ist, dass, wenn ich a.sh mit aufrufe:
a.sh -x -y foo -a -b bar
get_options die Verarbeitung bei "foo" stoppt, da es am ersten "nicht-Option" stoppt
Gibt es eine Möglichkeit, dies zu umgehen, ohne selbst alles neu zu schreiben?