Strona 1 z 1

[+] Bash - Problem z While/Until

: 01 czerwca 2014, 23:02
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.

: 01 czerwca 2014, 23:14
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.

: 02 czerwca 2014, 10:56
autor: buker999
Dzięki wielkie. Tak to jest jak sie zaczyna coś robić tuż przed snem... Temat w sumie do zamknięcia.

: 03 czerwca 2014, 10:31
autor: bradosmki
fajnie)