Você não está dizendo como está recebendo informações do usuário.
com read
:
read -k 'answer?Are you OK? '
case $answer in
(y | Y | $'\n') echo 1;;
# or ([$'yY\n']) echo 1;;
(*) echo 2;;
esac
Mas se você estiver usando read
sem -k
ou vared
e quiser detectar quando o usuário pressiona Enter sem inserir nenhuma resposta, é quando você deseja testar um valor vazio:
answer=; vared -p 'Are you OK? ' answer
case $answer in
(y | Y | "") echo 1;;
# or ([yY] | "") echo 1;;
(*) echo 2;;
esac
Ou semeia a resposta com y
(embora o usuário tenha que fazer Backspace N para dizer não ):
answer=y; vared -p 'Are you OK? ' answer
case $answer in
(y | Y) echo 1;;
(*) echo 2;;
esac