Poprzedni artykuł wprowadzał w podstawy powłoki Bash w linuxie. Pora kontynuować i poszerzyć wiedzę o kwestie bardzo istotne w programowaniu, czyli warunki. W tej części zarysuje ogólny schematy w jaki sposób możesz utworzyć warunek w bash. W następnych częściach posłużę się paroma przykładami.
Zachęcam do korzystania i testowania naszych serwerów VPS.
Zaczynamy
Podstawową instrukcją warunkową jest „if”, która przyjmuje następującą ogólną postać:
if [ warunek ]; then
wykonaj-te-polecenia
fi
Jeśli warunek jest prawdziwy, to wykonują się polecenia po słowie kluczowym „then„. Jeśli warunek jest fałszywy, to polecenia są pomijane. Instrukcja „if” jest zakończona słowem kluczowym „fi” (odwrócenie „if„).
Możesz również dodać opcjonalne „else„, które zawiera polecenia mające się wykonać, gdy warunek jest fałszywy:
if [ warunek ]; then
wykonaj-te-polecenia
else
wykonaj-te-inne-polecenia
fi
Jeśli chcesz wprowadzić więcej niż jeden warunek powinieneś dodatkowo użyć polecenia „elif” (skrót od „else if”):
if [ warunek1 ]; then
wykonaj-te-polecenia
elif [ warunek2 ]; then
wykonaj-te-inne-polecenia
else
wykonaj-te-jeszcze-inne-polecenia
fi
W warunkach możesz używać różnych operatorów porównania, parę możliwości poniżej:
- -eq – równy
- -ne – nierówny
- -lt – mniejszy
- -gt – większy
- -le – mniejszy lub równy
- -ge – większy lub równy
- = – identyczny (dla łańcuchów znaków)
Przykład
Jak powinien wyglądać cały skrypt wyszukujący plik o nazwie test.txt w katalogu domowym użytkownika?
#!/bin/bash
# Skrypt sprawdzający czy w katalogu domowym użytkownika znajduje się plik o nazwie test.txt
if [ -f ~/test.txt ]; then
echo "Plik o podanej nazwie już istnieje"
else
echo "Plik o takiej nazwie nie istnieje"
fi
W dzisiejszej części to wszystko. Zachęcam do śledzenia naszego bloga.