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: