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

 Członek DUG
	

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




 Użyszkodnik
	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
 Użytkownik
	
spróbuj case
case <zmienna> in "wzorzec1") polecenie1 ;; "wzorzec2") polecenie2 ;; "wzorzec3") polecenie3 ;; *) polecenie_domyślne esac
Offline

 Członek DUG
	

case nic nie da, gdyż jak nie dopasuje to mi wyjdzie z programu, a ja chce powrócić do wyboru
Offline







 Podobno człowiek...;)
	







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

 Członek DUG
	

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