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
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 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)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 июн. 2021, в 19:09
500000 руб./за проект
18 июн. 2021, в 19:00
100000 руб./за проект
18 июн. 2021, в 18:58
6000 руб./за проект