Я пытаюсь обрабатывать как необязательный, так и обязательный параметр для моего сценария bash. У меня есть следующий сценарий:Сценарий с аргументами опций и опций
while getopts "a:x:" opt; do
case $opt in
a) echo "option a set: $OPTARG" ;;
x) echo "option x set: $OPTARG" ;;
\?) echo "Invalid option: -$OPTARG" >&2; exit 1;;
esac
done
shift $((OPTIND-1))
echo "mandatory argument $1"
echo "mandatory argument2 $2"
Все выглядит нормально, когда я бегу мой сценарий, используя следующую команду:
./script.sh -a optionA -x optionX mandatory1 mandatory2
Но когда я смешиваю это Params:
./script.sh mandatory1 mandatory2 -a optionA -x optionX
Это не делает. .. Как заставить его работать для всех комбинаций параметров?
имеет различный порядок означает разные вещи? если нет, я не вижу смысла делать это. –
@ KarolyHorvath означает абсолютно то же самое, поэтому он должен работать точно так же. И это не так. – J33nn
нет ничего плохого. это стандарт unix (de facto?), чтобы начать с флагов ... –