Я делаю сценарий bash, который использует как длинные параметры, так и короткие флаги. Так как я хочу длинные варианты, я не могу использовать getopts . Я попытался использовать следующий код:
while test -n "$1"; do
case "$1" in
-o|--override) NO_CHANGE=yes;shift 1;;
-r|--reset) OV_RESET=yes;shift 1;;
-h|--help) hthemehelp;shift 1;;
*) break;;
esac
done
Это работает, когда я вызываю его как myscr -o -r или myscr -h , но когда я пробую myscr -or программа просто запускает свое нормальное поведение, и, выполняя myscr -or -h она выходит из цикла, прежде чем доберется до -h . Замена break на continue приводит к myscr -or и myscr -or -h .
