# plik receptury: using_phases

# Pętla główna
until [ "$phase" = "Koniec." ]; do

    case $phase in

        phase0 )
            ThisPhase=0
            NextPhase="$(( $ThisPhase + 1 ))"
            echo '############################################'
            echo "Etap$ThisPhase  = Rozpoczęcie kompilacji programu SuperCoś"
            # Tutaj należy umieścić instrukcje, które odpowiadają za incjowanie
            # nowej procedury kompilacji
# ...
            echo "Etap${ThisPhase}=zakończony"
            phase="etap$NextPhase"
            ;;


# ...


    phase20 )
        ThisPhase=20
        NextPhase="$(( $ThisPhase + 1 ))"
        echo '############################################'
        echo "Etap$ThisPhase = Zasadnicza część kompilacji programu SuperCoś"


# ...


        choice "[Etap$ThisPhase] Czy chcesz wstrzymać kompilację i coś poprawić? [t/N]:"
        if [ "$choice" = "t" ]; then
            echo "Kontynuuacja pracy skryptu: '$MYNAME etap${ThisPhase}'."
            exit $ThisPhase
        fi

        echo "Etap${ThisPhase}=zakończony"
        phase="etap$NextPhase"
        ;;


# ...


        * )
            echo "Co się dzieje?!? Ten fragment nie powinien być wykonywany!"
            echo "Spróbuj $0 -h"
            exit 99
            phase="Koniec."
            ;;
    esac
    printf "%b" "\a"        # Dzwonek
done
