
bash getopts: парсинг флагов без боли
getopts — встроенная команда bash для разбора флагов вида -v, -f file: while getopts "v:f:h" opt; do case $opt in v) VERBOSE=$OPTARG ;; f) FILE=$OPTARG ;; h) exit 0 ;; esac done shift $((OPTIND - 1)) Двоеточие после буквы (v:, f:) — флаг требует аргумент, без него (h) — просто переключатель. $OPTIND после цикла указывает на первый нефлаговый аргумент, shift сдвигает $1 $2 ... на оставшиеся: ./script.sh -v 3 -f /etc/conf input.txt # $VERBOSE=3 $FILE=/etc/conf $1=input.txt Длинные флаги (--verbose) getopts не понимает — нужен внешний getopt или ручной case. ...



