История изменений
Исправление tiandrey, (текущая версия) :
Лютый фейспалм. У тебя идут пары [параметр, значение], ты не «пропустил значение», ты указал значение в виде имени другого параметра.
Если getopts'у сказано, что у параметра должно быть значение, он в качестве значения возьмёт аргумент командной строки, следующий за аргументом-параметром, вне зависимости от его содержимого.
Если хочешь «пропустить», укажи пустую строку:
$ testbash.sh -a 111 -b 222 -c '' -d
Исправление tiandrey, :
Лютый фейспалм. У тебя идут пары [параметр, значение], ты не «пропустил значение», ты указал значение в виде имени другого параметра.
Если getopts'у сказано, что у параметра должно быть значение, он в качестве значения возьмёт аргумент командной строки, следующий за аргументом-параметром, вне зависимости от его значения.
Если хочешь «пропустить», укажи пустую строку:
$ testbash.sh -a 111 -b 222 -c '' -d
Исправление tiandrey, :
Лютый фейспалм. У тебя идут пары [параметр, значение], ты не «пропустил значение», ты указал значение в виде имени другого параметра. Если хочешь «пропустить», укажи пустую строку.
Исходная версия tiandrey, :
Лютый фейспалм. У тебя идёт [параметр, значение]*, ты не «пропустил значение», ты указал значение в виде имени другого параметра. Если хочешь «пропустить», укажи пустую строку.