Как упростить конструкцию Bash не используя if then else!?
Можно убрать elseread -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
Можно еще прощеread -r -n1 -p "Ask some question. y/n:"
[ ${REPLY^^} == 'Y' ]
variable=$?
Ну и дальше проверяете значение variable. Если 0, значит всё хорошо (true), если не 0, значит равенство не верно (false)