I've many notes gleaned from the web and have written bash scripts to manage them.I've some scripts working that depend on select to make menus.Question: in a nested menu context, is it possible to revert to a preceding menu within the script ? I've a strong feeling that this may not be possible but am posting this in the hope there may be a way.To explain what I mean: say the user makes a choice against menu-1 which then determines what shows up in menu-2 which follows. If the user selects done in menu-2, is there a loop device to bring the user back to menu-1 ?The script below contains 3 selects - I'd like to be able to revert from the 3rd one back to the 2nd:curd=($(ls)); # arrayselect dirup in ${curd[@]} done docd $dirup;    ar=($(ls | awk -F. '{ print $1 }' | awk -F- '{ for(i=2; i<=NF; i++) print $i }' | sort | uniq)); select choice in ${ar[@]} done # select list    do         echo you selected: $choice        [[ $choice == done ]] && exit         ar=($( find . -type f -maxdepth 1 -name *$choice* ));        ((cnt=${#ar[@]}+1))        select ntit in ${ar[@]} done            do                 echo choice is:[ $REPLY ]                for i in $REPLY; # $REPLAY contains numbers                    do                      if [ $i -lt $cnt ]                        then                             ((var=$i-1));                             open ${ar[$var]};                         else                             exit                      fi                    done            done      donedone
bash script select menu
bash;scripting;menu;select
Use break instead of exit. Note, though, that the menu is not reprinted when returning to a higher menu.Example:select x in nothing inner quit ; do    [[ $x == quit ]] && break    if [[ $x == inner ]] ; then        select y in NOTHING BACK ; do            [[ $y == BACK ]] && break        done    fidone