Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam
Taki przypadek. Przyznam szczerze, że jakaś ciemność umysłu mnie naszła.
Mam 3 opcje w skrypcie : 1,2,3
I teraz jak wybiorę prawidłową z tych trzech to wykonuje określony kod. ( Tutaj klauzule if)
Jednak nie umiem załatwić sprawy z podaniem wartości innej niż 1,2,3.
Chcę w takim przypadku aby w skrypcie był powrót do pytania o wybór opcji.
Może mnie ktoś naprowadzić na rozwiązanie.
Pozdrawiam
Ostatnio edytowany przez rulezdc (2012-12-20 21:22:28)
Offline
Przypisujesz odpowiedź użytkownika do zmiennej i wykonujesz kod tak długo, aż ta wartość nie będzie z akceptowalnego zakresu. Czyli pętla while / until.
Offline
spróbuj case
case <zmienna> in "wzorzec1") polecenie1 ;; "wzorzec2") polecenie2 ;; "wzorzec3") polecenie3 ;; *) polecenie_domyślne esac
Offline
case nic nie da, gdyż jak nie dopasuje to mi wyjdzie z programu, a ja chce powrócić do wyboru
Offline
Cytat z pewnej stronki:
Sprawdza czy warunek jest prawdziwy, gdy jest fałszywy wykonywane jest polecenie lub lista poleceń zawartych wewnątrz pętli, miedzy słowami kluczowymi do a done. Pętla until kończy swoje działanie w momencie gdy warunek stanie się prawdziwy.
Sznureczek:
http://dief.republika.pl/while.html
Przykład:
#!/bin/bash x=0; until [ $x -ge 10000000 ]; do echo "Napis pojawił się po raz: $x" sleep 0.01 x=$[x + 1] done
W powyższym przykładzie, w ciągu ~10000 sekund na własne oczy zobaczysz poprawność funkcji. :D
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-12-20 20:22:46)
Offline
Dzięki za podpowiedzi
#!/bin/bash while : do read -p "Enter number : " a if [[ $a == 1 ]] then echo "Wybrales 1" break elif [[ $a == 2 ]] then echo "Wybrales 2" break elif [[ $a == 3 ]] then echo "Wybrales 3" break elif [[ $a == 4 ]] then echo "Wybrales 4" break else echo "Wrong options,enter correctly number" fi done echo "Ala makota"
Działa jak chce
Offline
Strony: 1