Có vỏ sau, có vòng lặp (trong khi đúng) bên trong vòng lặp (trong khi thực). Tôi đang cố gắng để phá vỡ vòng lặp bên trong bằng cách sử dụng một "break" nhưng nó không phải là. Tôi muốn ngắt vòng lặp bên trong & hiển thị cho người dùng các tùy chọn của vòng lặp thứ nhất; đề xuất xin.Vòng ngắt trong khi ngắt thực sự
#!/bin/ksh
sub_menu() {
echo "~~~~~~~~~~~~~~~~~~~~~~~~~"
echo " S U B - M E N U "
echo "~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "1. Display properties"
echo "2. Back"
}
read_sub_options(){
echo "Please select option"
read option
case $option in
1) sub_menu ;;
***2) break ;;***
*) echo "Please insert options 1 ~ 2";;
esac
}
showSubMenu(){
while true
do
sub_menu
read_sub_options
done
}
read_options(){
echo "Please select option "
read option
case $option in
1) showSubMenu ;;
2) exit 0;;
*) echo "Please insert options ";;
esac
}
show_menus() {
echo "~~~~~~~~~~~~~~~~~~~~~"
echo " M A I N - M E N U "
echo "~~~~~~~~~~~~~~~~~~~~~"
echo "1. Sub Menu"
echo "2. Exit"
}
# -----------------------------------
# MAIN
# ------------------------------------
while true
do
show_menus
read_options
done
Đây là kết quả:
~~~~~~~~~~~~~~~~~~~~~
M A I N - M E N U
~~~~~~~~~~~~~~~~~~~~~
1. Sub Menu
2. Exit
Please select option
1
~~~~~~~~~~~~~~~~~~~~~~~~~
S U B - M E N U
~~~~~~~~~~~~~~~~~~~~~~~~~
1. Display properties
2. Back
Please select option
2
~~~~~~~~~~~~~~~~~~~~~~~~~
S U B - M E N U
~~~~~~~~~~~~~~~~~~~~~~~~~
1. Display properties
2. Back
Please select option
2
Đọc về lệnh 'select' trong trang manpage ksh. –
+1 cho mô tả sự cố tốt, đầu ra mẫu VÀ một số mã thực tế. Chúc may mắn. – shellter
@shellter cảm ơn nhiều! – sid