Instrukcje sterujące


Ważne komendy (przypomnienie)

Budowa skryptu Bash
#!/bin/bash

#instrukcje do wykonania

exit 0

Uruchomienie: ./nazwa


Podanie argumentów podczas uruchomienia: ./nazwa argument1 argument2 ... argumentN


Odniesienie się do wartości zmiennej: $zmienna.

Odniesienie się do argumentów
Operatory logiczne
na liczbach całkowitych: na napisach: na plikach:
Instrukcja warunkowa if
if [[ warunek1 ]]
then
 # instrukcje wykonywane, jeżeli warunek1 jest spełniony
elif [[ warunek2 ]]
then
 # instrukcje wykonywane, jeżeli poprzedni warunek nie został spełniony natomiast warunek2 jest spełniony
# ...
else
 # instrukcje wykonywane, jeżeli żadne z wcześniejszych wyrażeń nie został spełniony
fi

Instrukcja warunkowa case
case wyrażenie in
wartość1)
 # instrukcje wykonywane, jeżeli wyrażenie -eq wartość1
 ;;
wartość2)
 # instrukcje wykonywane, jeżeli wyrażenie -eq wartość2
 ;;
# ...
*)
 # instrukcje wykonywane, jeżeli żaden z wcześniejszych warunków nie został spełniony
 ;;
esac

Pętla while - pętla w która jest wykonywana dopóki warunek jest spełniony
while [[ warunek ]]
do
 # instrukcje do wykonania w pętli, jeżeli warunek jest spełniony
done

Pętla for (wersja 1) - pętla w której określamy liczbę przebiegów
for (( wyrażenie1; wyrażenie2; wyrażenie3 ))
do
 # instrukcje do wykonania w pętli
done

Pętla for (wersja 2) - pętla wykonywana dla każdej wartości z listy
for zmienna in sekwencja
do
 # instrukcje do wykonania w pętli dla każdego argumentu
done




Zadania


Zadanie 1. Napisz skrypt w Bashu o nazwie argumenty.sh, który przyjmuje dowolną liczbę argumentów przekazanych przy uruchomieniu, a następnie sprawdza ich liczbę — jeśli argumentów jest więcej niż trzy, wypisuje komunikat „Podano X argumentów.” (gdzie X to liczba argumentów) oraz wyświetla wszystkie argumenty w jednej linii oddzielone przecinkami; jeśli argumentów jest dokładnie trzy, wypisuje komunikat „Podano dokładnie trzy argumenty: ARG1, ARG2, ARG3”; natomiast jeśli argumentów jest mniej niż trzy, wypisuje komunikat „Za mało argumentów! Podaj przynajmniej trzy.” oraz podaje przykład użycia w postaci „Użycie: ./argumenty.sh arg1 arg2 arg3 [arg4 ...]"

Zadanie 2. Napisz skrypt w Bashu o nazwie kompiluj_i_uruchom.sh, który:

  1. kompiluje program w języku C zapisany w pliku program.c przy użyciu gcc;
  2. jeżeli kompilacja się nie powiedzie, wypisuje komunikat "Błąd kompilacji!" i kończy działanie;
  3. sprawdza, czy skrypt został wywołany z dokładnie dwoma argumentami; jeżeli nie, wypisuje "Podaj dokładnie dwa argumenty!" i kończy działanie;
  4. uruchamia skompilowany program z tymi dwoma argumentami;
  5. sam zdecyduj co oblicza i wyświetla program w C
  6. po wykonaniu programu skrypt sprawdza jego kod zakończenia i wypisuje odpowiedni komunikat:
    • kod 0 "Program zakończył się pomyślnie."
    • kod 1 Jakiś inny komunikat
    • kod >1 "Program zakończył się błędem (kod: X)."
  7. na końcu usuwa plik wykonywalny (sprzątanie).

Dodatkowo: możesz dodać własne rozszerzenia, np. logowanie wyjścia do pliku wynik.log lub specjalne kody błędów.