floatrx
@floatrx
web-design, верстка

Как упростить конструкцию Bash не используя if then else!?

В зависимости от нажатой клавиши Y or N - переменная Variable принимает значение TRUE (y) или FALSE (n)...
Можно ли как-то по-проще описать данную конструкцию:
read -r -n1 -p "Ask some question. y/n " key
if [${key^^}=="Y"]; then
    variable=true
else
    variable=false
fi
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Можно убрать else
read -r -n1 -p "Ask some question. y/n " key
variable=false
if [ ${key^^} == "Y" ]; then
    variable=true
fi


Можно использовать && и ||
read -r -n1 -p "Ask some question. y/n:" key
[ ${key^^} = 'Y' ] && variable=true || variable=false
Ответ написан
Комментировать
3vi1_0n3
@3vi1_0n3
Можно еще проще
read -r -n1 -p "Ask some question. y/n:"
[ ${REPLY^^} == 'Y' ]
variable=$?

Ну и дальше проверяете значение variable. Если 0, значит всё хорошо (true), если не 0, значит равенство не верно (false)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы