[+] Bash - Problem z While/Until

Potrzebujesz pomocy z C, C++, perl, python, itp.
buker999
Posty: 89
Rejestracja: 18 października 2011, 21:22
Lokalizacja: Warszawa

[+] Bash - Problem z While/Until

Post autor: buker999 »

Witam, mam problem z moim skryptem a mianowicie:
Fragmęt kodu z wyświetlonymi znakami końca bo z tego co znalazłem w internecie jest to najczęstszy problem.

Kod: Zaznacz cały

until [ "$WYBOR" = 'q' ];$
do$
    $
    USER=$(whoami)$
    echo 'Wybierz co chcesz zainstalowac'$
    echo '1. Pliki systemowe itp'$
    echo '2.Vimrc i dodatki'$
    echo '3. Prompt i kolorki'$
    echo '4. Wszystkie 3 opcje'$
    echo 'q/e. EXIT'$
    read WYBOR$
$
    if $WYBOR = '1'$
    then$
        system_install$
    if $WYBOR = '2'$
    then$
        vimrc$
    if $WYBOR = '3'$
    then$
        bashrc$
    if $WYBOR = '4'$
    then$
        system_install$
        vimrc$
        bashrc$
    else$
        echo 'Zle wybrales'$
    fi$
done$


Kod: Zaznacz cały

until [ "$WYBOR" = 'q' ];do
    
    USER=$(whoami)
    echo 'Wybierz co chcesz zainstalowac'
    echo '1. Pliki systemowe itp'
    echo '2.Vimrc i dodatki'
    echo '3. Prompt i kolorki'
    echo '4. Wszystkie 3 opcje'
    echo 'q/e. EXIT'
    read WYBOR


    if $WYBOR = '1'
    then
        system_install
    if $WYBOR = '2'
    then
        vimrc
    if $WYBOR = '3'
    then
        bashrc
    if $WYBOR = '4'
    then
        system_install
        vimrc
        bashrc
    else
        echo 'Zle wybrales'
    fi
done


Przy wykonaniu dostaję błąd

Kod: Zaznacz cały

install.sh: line 144: błąd składni przy nieoczekiwanym znaczniku `done'
install.sh: line 144: `done'
144 linia to jest z "done". Już nie mam pomysłu co jest nie tak.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Błąd jest w instrukcji if, jeżeli chcesz zrobić "wielokrotny" if struktura jest taka:

Kod: Zaznacz cały

if warunek1
then
  polecenie1
[b]elif[/b] warunek2
then
  polecenie2
[b]elif[/b] warunek3
then
polecenie3
fi
Możesz też skorzystać z instrukcji case.
buker999
Posty: 89
Rejestracja: 18 października 2011, 21:22
Lokalizacja: Warszawa

Post autor: buker999 »

Dzięki wielkie. Tak to jest jak sie zaczyna coś robić tuż przed snem... Temat w sumie do zamknięcia.
bradosmki
Posty: 1
Rejestracja: 03 czerwca 2014, 10:29
Lokalizacja: Warzawa

Post autor: bradosmki »

fajnie)
ODPOWIEDZ