Strona 1 z 1

Case, powrót do menu

: 20 sierpnia 2014, 20:48
autor: kodama
Cześć
Mam sobie takie menu w case. Pod jednym wyborem najpierw jest dokonywany test czy katalog istnieje:

Kod: Zaznacz cały

		if [ ! -d "$karta" ]; then

 		echo "Brak katalogu";
 	 *co tutaj wstawić?*
			
		else
...
Moje pytanie - co wstawić w skrypcie tam gdzie gwiazdki, żeby jeżeli ten test zwróci prawdę powróciło do głównego menu wyboru? Pewnie to jakaś pierdołka jak znam życie :)
Z góry dzięki.

: 21 sierpnia 2014, 07:54
autor: pone13
case wsadź w pętle (np. while), wstaw w tym miejscu break.

W miejscach wymagających przerwania case jak i pętli ustaw ziemną warunkową przerywającą tą pętle.

Szkic w C:

Kod: Zaznacz cały

while (cond) {
    menu(); /** show menu and wait for user input */
    cond = 1;

    switch (item) {
    case itemA:
         cond = 0; /** exit from menu */
         break;
    case itemB:
         break; /** show menu again */
    }
}

: 21 sierpnia 2014, 11:17
autor: kodama
Zrobiłem tak:

Kod: Zaznacz cały

while true do
...
...
...
done
Całego case wrzuciłem w taką pętlę i śmiga tak jak potrzebuję. Dzięki bardzo.

: 21 sierpnia 2014, 11:47
autor: f1.micro

Kod: Zaznacz cały

a=0


while [ $a -lt 1 ]; do


	read wybor
        case $wybor in 
              "wyjdz") a=1;;


done
To tak żeby można było wyjść z pętli