LINUX.ORG.RU

История изменений

Исправление tiandrey, (текущая версия) :

Лютый фейспалм. У тебя идут пары [параметр, значение], ты не «пропустил значение», ты указал значение в виде имени другого параметра.

Если getopts'у сказано, что у параметра должно быть значение, он в качестве значения возьмёт аргумент командной строки, следующий за аргументом-параметром, вне зависимости от его содержимого.

Если хочешь «пропустить», укажи пустую строку:

$ testbash.sh -a 111 -b 222 -c '' -d

Исправление tiandrey, :

Лютый фейспалм. У тебя идут пары [параметр, значение], ты не «пропустил значение», ты указал значение в виде имени другого параметра.

Если getopts'у сказано, что у параметра должно быть значение, он в качестве значения возьмёт аргумент командной строки, следующий за аргументом-параметром, вне зависимости от его значения.

Если хочешь «пропустить», укажи пустую строку:

$ testbash.sh -a 111 -b 222 -c '' -d

Исправление tiandrey, :

Лютый фейспалм. У тебя идут пары [параметр, значение], ты не «пропустил значение», ты указал значение в виде имени другого параметра. Если хочешь «пропустить», укажи пустую строку.

Исходная версия tiandrey, :

Лютый фейспалм. У тебя идёт [параметр, значение]*, ты не «пропустил значение», ты указал значение в виде имени другого параметра. Если хочешь «пропустить», укажи пустую строку.