List

Wykorzystanie cydzysłowie:

  • ‘   oraz   ‘ – apostfory służą do łączenia zawartych w nim znaków jako jeden ciąg znaków. Jest to użyteczne np. przy przekazywaniu parametru pozycyjnego zawierającego znak specjalny – np. spację. Apostrof pozwala na wykorzystanie wszystkich znaków specjalnych z wyjątkiem samego apostrofa, któego nie można użyć nawet poprzedzając backslashem.
  • ”   oraz   ” – podwójny apostrof służy do łaczenia zawartych w nim znaków jako jeden ciąg znaków. Ciąg znaków zawarty w podwójny apostrof podlega przetwarzaniu i interpretacji przez bash przez co pozwala na skorzystanie ze znaków specjalnych.
  •    oraz    – pojedynczy apostrof odwrotnie skierowany służy do wykonania polecenia zawartego w nim oraz wstanie w miejsce wystapienia tych apostrofów standardowego wyjścia tego polecenia.

Instrukcja read

Instrukcja read służy do pobierania od użytkownika ciągu znaków i podstawienia go pod wartość zmiennej.

Instrukcja test

Polecenie test sprawdza zadany warunek i zwraca wartość true jeśli jest spełniony (tj. polecenie kończy się pomyślnie) oraz false gdy nie jest.
Struktura:

Test można również zapisać za pomocą dwóch nawiasów kwadratowych:

Jednoargumentowe na plikach:

  • -c plik – sprawdza czy plik jest urządzeniem znakowym
  • -b plik – sprawdza czy plik jest urządzeniem blokowym
  • -e plik – sprawdza czy plik istnieje
  • -f plik – sprawdza czy plik jest zwykłym plikiem
  • -d plik – sprawdza czy plik jest katalogiem
  • -L plik – sprawdza czy plik jest dowiązaniem symbolicznym

Jednoargumentowe na zmiennych:

  • -z $zmienna – sprawdza czy zmienna ma zerową długość
  • -n $zmienna – sprawdza czy zmienna ma niezerową długość

Dwuargumentowe na liczbowach:

  • $zmienna1 -lt $zmienna2 – kod powrotu 0 gdy zmienna1 jest mniejsza od zmienna2
  • $zmienna1 -le $zmienna2 – kod powrotu 0 gdy zmienna1 jest mniejsza lub równa od zmienna2
  • $zmienna1 -gt $zmienna2 – kod powrotu 0 gdy zmienna1 jest większa od zmienna2
  • $zmienna1 -ge $zmienna2 – kod powrotu 0 gdy zmienna1 jest większa lub równa od zmienna2
  • $zmienna1 -eq $zmienna2 – kod powrotu 0 gdy zmienna1 jest równa zmienna2
  • $zmienna1 -ne $zmienna2 – kod powrotu 0 gdy zmienna1 jest różna od zmienna2

Dwuargumentowe operacje na ciągach znaków

  • $zmienna1 == $zmienna2 – kod powrotu 0 gdy ciąg znaków zmienna1 jest równy zmienna2
  • $zmienna1 != $zmienna2 – – kod powrotu 0 gdy ciąg znaków zmienna1 jest różny od zmienna2

Uwaga:

W miejsce $zmienna1 i $zmienna2 bash wstawia wartość tych zmiennych, więc realnie wykonywane polecenia, to porównywanie wartości tych zmiennych. Z tego powodu, jeśli zmienna1 lub zmienna2 są puste, polecenie test zakończy się niepowodzeniem przez błąd składni.

Instrukcja if

Instrukcja if służy do sterowania warunkowego wykonaniem skryptu.
Struktura if:

Przykłady

Pętla for

Pętla for służy do iterowania po zadanych wartościach.
Może iterować po zadanych ciągach znaków:

Jako parametr ciągu znaków po którym ma iterować zmienna można podać polecenie podane w apostrofie:

Może również iterować po wartościach liczobowych:

W pętli for można również skorzystać z instrukcji break i continue

Pętla while

Pętla while służy do wykonywania zadanych operacji dopóki warunek wejściowy jest spełniony.
Struktura while:

W pętli while można skorzystać również z instrukcji break i continue:

Instrukcja case

Instrukcja eval

Instrukcja eval służy do zbudowania komendy i jej wykonania przez powłokę.

Poprzez zacytowanie znaków specjalnych eval może również korzystać ze zmiennych.

Program expr

Program expr służy do obliczania wartości arytmetycznych: