Programowanie > Bash, skrypty powłoki

Skrypty linux Prosze o pomoc

<< < (2/2)

maciejkloda1:
Dzięki wielkie za odpowiedz

Paweł Kraszewski:
Na przyszłość — jeżeli będziesz od razu wklejał swoje podejście do rozwiązania pokazujące, że naprawdę próbowałeś (jak teraz) i konkretny problem, dużo szybciej dostaniesz odpowiedź.

Mamy alergię na rozwiązywanie zadań domowych od zera — a tu wykazałeś się, że wpadłeś w nieoczywistą pułapkę.

A, i taka podpowiedź na przyszłość: jak zaraz pod #!/bin/bash dasz linijkę zawierającą set -x, to skrypt w czasie pracy będzie drukował dokładnie co w danym momencie wykonuje:


--- Kod: ---
#!/bin/bash
set -x

# ... reszta skryptu

--- Koniec kodu ---

Porównanie wyników dobrej i złej wersji:


--- Kod: ---
+ echo 'Zadanie ze skryptów'                                    + echo 'Zadanie ze skryptów'
Zadanie ze skryptów                                             Zadanie ze skryptów
+ echo 'Skrypt liczy reszte z dzielenia dwoch podanych przez    + echo 'Skrypt liczy reszte z dzielenia dwoch podanych przez
Skrypt liczy reszte z dzielenia dwoch podanych przez ciebie l   Skrypt liczy reszte z dzielenia dwoch podanych przez ciebie l
+ echo 'Podaj pierwsza liczbe'                                  + echo 'Podaj pierwsza liczbe'
Podaj pierwsza liczbe                                           Podaj pierwsza liczbe
+ read L1                                                       + read L1
+ echo 'Podaj druga liczbe'                                     + echo 'Podaj druga liczbe'
Podaj druga liczbe                                              Podaj druga liczbe
+ read L2                                                       + read L2
+ '[' 3 -eq 0 ']'                                               + '[' 3 -eq 0 ']'
++ expr 2 % 3                                                   ++ expr 2 % 3
+ D=                                                          | + D=2
+ 2                                                           | + echo 'wynik dzielenia wynosi:2'
./skr.sh: linia 15: 2: nie znaleziono polecenia               | wynik dzielenia wynosi:2
+ echo 'wynik dzielenia wynosi:'                              <
wynik dzielenia wynosi:                                       <

--- Koniec kodu ---

A, i sorki, faktycznie chodziło ci o resztę z dzielenia. Zmylił mnie tekst w wyświetlaniu wyniku.

maciejkloda1:
Zrozumiała sprawa, jeszcze raz bardzo dziękuje

Nawigacja

[0] Indeks wiadomości

[*] Poprzednia strona

Idź do wersji pełnej