Доброго времени суток)
***
Задача простая, но решение её мне (новичку

) дается с трудом.
Понадобилось написать скрипт по алгоритму:
1)запускается скрипт с бесконечным циклом и переменной line=0
2)выполняется уловие CASE:
если ввели 0, то сообщение "code 0"
если ввели 1, то сообщение "code 1"
если ввели 2, то сообщение "code 2"
если ввели 3, то сообщение "code 3" и выход из бесконечного цикла
если ввели <что-то другое>, то сообщение "code unknown"
3)далее чтение из строки: ввожу цифру жму Enter и цикл отрабатывает дальше, а если ничего не ввел и не нажал Enter ,то цикл не останавливается и не ждет ввода, а продолжает дальше, помня в переменной line предыдущий ввод цифры.
Реализовал это в таком виде, но никак не могу обойти ожидание ввода
read line 
#!/bin/bash
line=0
run=1
while [[ "$run" -q 1 ]];
do
case $line in
0) echo "code 0";;
1) echo "code 1";;
2) echo "code 2";;
3) echo "code 3"; exit; ;;
*) echo "code unknonw";;
esac
sleep 1
read line #пока не тыкну Enter цикл не продолжится, а надо чтобы продолжился
done
Буду благодарен за любые советы, извините если чего-то простого не понимаю может-быть