Logo projektu bash

Instrukcja if umożliwia wykonanie innych poleceń zależnie od spełnienia warunku.

Składnia instrukcji if

if [ warunek ]; then
polecenia1 gdy spełniony jest warunek
else
polecenia2 gdy warunek nie jest spełniony
fi

 


Słowo else jest opcjonalne, całą instrukcje musi koczyć słowo fi.

 

Warunki można zagnieżdzać za pomocą słowa elif :

if [ warunek ]; then
polecenia gdy warunek jest spełniony
elif [ warunek2 ]; then
polecenia gdy warunek2 jest spełniony
else
polecenia gdy warunek2 nie jest spełniony
fi

Warunki

Wyróżniamy trzy rodzaje warunków :

  • porównywanie liczb
  • porównywanie tekstów
  • warunki związane z plikami

Porównywanie liczb

Porównywanie liczb
liczba1 -eq liczba2 prawda gdy liczba1 jest równa liczbie2
liczba1 -ne liczba2 prawda gdy liczby są różne
liczba1 -qt liczba2 prawda gdy liczba1 jest większa od liczby2
liczba1 -lt liczba2 prawda gdy liczba1 jest mniejsza od liczby2
liczba1 -ge liczba2 prawda gdy liczba1 jest większa lub równa liczbie2
liczba1 -le liczba2 prawda gdy liczba1 jest mniejsza lub równa liczbie2

Porównywanie tekstów

Porównywanie tekstów
tekst1 = tekst2 prawda gdy tekst1 jest taki sam jak tekst2
tekst1 != tekst2 prawda gdy tekst1 jest różny od tekstu2
-n tekst prawda gdy tekst nie jest pusty
-z tekst prawda gdy tekst jest pusty

Warunki związane z plikami

Warunki związane z plikami
-d nazwa_pliku prawda gdy plik jest katalogiem
-f nazwa_pliku prawda gdy plik jest zwykłym plikiem
-e nazwa_pliku prawda gdy plik istnieje
-h nazwa_pliku prawda gdy plik jest dowiązaniem symbolicznym
-s nazwa_pliku prawda gdy plik ma wielkość większą od 0
-r nazwa_pliku prawda gdy mamy prawo do odczytu pliku
-w nazwa_pliku prawda gdy mamy prawo do zapisu pliku
-x nazwa_pliku prawda gdy mamy prawo do uruchomienia pliku

Operatory logiczne

Operatory logiczne :
! warunek prawda gdy warunek nie jest spełniony
warunek1 -a warunek2 prawda gdy oba warunki są spełnione
warunek1-o warunek2 prawda gdy chociaż jeden z warunków jest spełniony