LINUX.ORG.RU

[bash] проверка переменной

 


0

1

Доброго времени суток, господа
Вопрос к знатокам bash, как можно проверить переменную на то, присвоено что-то в неё или нет? Звучит глупо, потому пример. Есть переменная username, в которую пользователь должен ввести своё имя. Если имени нет, то я мог бы выводить сообщение о том, что не введено имя, но скрипт не останавливался при этом (последнее замечание по поводу единственного что смог найти по этому поводу ${username?«нет имени»})
Адекватным заранее большое спасибо.

Ответ на: комментарий от kostik87

да, это же уже сделал и проверил - работает
очень благодарен

Spirit_of_Stallman ★★★
() автор топика

Забыли про то, что переменную следует заключать в двойные кавычки, иначе будет ошибка, если ее значение состоит из нескольких слов.

$ aaa=bbb
$ if [ $aaa ]; then echo 1; fi
1
$ aaa='bbb ccc'
$ if [ $aaa ]; then echo 1; fi
bash: [: bbb: unary operator expected
$ if [ "$aaa" ]; then echo 1; fi
1
apprentice
()
Ответ на: комментарий от akk

И чо !? ))) Ну а если серьёзно, это хорошо, что вы указали ещё возможные варианты решения поставленной задачи., это Linux - здесь можно решить задачу несколькими способами. По поводу первого, я привык использовать -z, по поводу последнего, я считаю лучше лучше явно указать, что бы было нагляднее и понятнее даже тем, кто не особо знает синтаксис используемой команды.

kostik87 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.