# plik receptury: select_dir

directorylist="Koniec $(for i in /*;do [ -d "$i" ] && echo $i; done)"

PS3='Wybierz katalog: ' # Komunikat opisujący listę opcji
until [ "$directory" == "Koniec" ]; do

    printf "%b" "\a\n\nLista dostępnych katalogów:\n" >&2
    select directory in $directorylist; do

        # Choć użytkownik wpisuje wartość liczbową, która jest przechowywana w zmiennej 
        # $REPLY, instrukcja select zwraca ciąg tekstowy opcji
        if [ "$directory" = "Koniec" ]; then
            echo "Koniec przetwarzania katalogów."
            break
        elif [ -n "$directory" ]; then
            echo "Wybrana opcja: $REPLY, przetwarznaie katalogu $directory ..."
            # insturkcje przetwarzania katalogu
            break
        else
            echo "Błędny wybór!"
        fi # koniec analizy odpowiedzi użytkownika

    done # koniec procedury wyboru katalogu
done # koniec pętli oczekiwania na zakończenie
