Запись в багтрекере на https://bugs.freedesktop.org/10510 ("Xorg должен использовать более маловероятную комбинацию клавиш, чем Control-Alt-Backspace в качестве клавиши zap сервера") была закрыта как "WORKSFORME" после того, как было указано, что "zapping [теперь] отключен по умолчанию", так что, я думаю, поэтому они больше не видят причин менять его. Так что, похоже, что zapping в целом устарел как повседневная функция.
Чтобы вызвать повторное отображение меню, добавьте внешний цикл вокруг select
и всегда break
вне цикла select
, когда выбрана опция. Кроме того, в операторе case... esac
используйте не настоящие пункты меню, а числа, которые делают код более читабельным, а также более простым в сопровождении.
submenu() {
while true; do
select submenu1 in 'Submenu 1' 'Submenu 2' 'Submenu 3' 'Exit to main menu'
do
case $REPLY in
1) echo 'SubMenu1' ;;
2) echo 'SubMenu2' ;;
3) echo 'SubMenu3' ;;
4) break 2 ;;
*) echo 'Please select an option.' >&2
esac
break
done
done
}
while true; do
select mainMenu in 'Main Menu 1' 'Main Menu 2' 'Main Menu 3' 'Quit'
do
case $REPLY in
1) submenu ;;
2) echo 'MainMenu2' ;;
3) echo 'MainMenu3' ;;
4) break 2 ;;
*) echo 'Please select an option.' >&2
esac
break
done
done