Condicionals amb BASH (if else)

Ús molt bàsic de condicionals amb BASH.

Evaluem si estem a l’any 2018 o no …

#!/bin/bash
any_actual=`date +%Y`
if [ "$any_actual" = "2018" ]
then
  echo "estem al 2018"
else
  echo "NO estem al 2018"
fi

altres operants…

-eq: és igual, if [ "$a" -eq "$b" ]
-ne: no és igual que, if [ "$a" -ne "$b" ]
-gt: és més gran que, if [ "$a" -gt "$b" ]
-ge: és més gran o igual que, if [ "$a" -ge "$b" ]
-lt: és més petit que, if [ "$a" -lt "$b" ]
-le: és més petit o igual que, if [ "$a" -le "$b" ]
<: és més petit que, (("$a" < "$b"))
<=: és més petit o igual que, (("$a" <= "$b"))
>: és més gran que, (("$a" > "$b"))
>=: és més gran o igual que, (("$a" >= "$b"))

comparació de cadenes…

=: igual a, important l'espai: if [ "$a" = "$b" ]
==: igual a, sinònim de =., if [ "$a" == "$b" ]
  [[ $a == z* ]]   # True si $a comença amb "z"
  [[ $a == "z*" ]] # True si $a és igual a z*
!=: no igual a, if [ "$a" != "$b" ]
<: és més petit que, cal escapar-ho amb if [[ "$a" < "$b" ]] o if [ "$a" \< "$b" ]
>: és més gran que, cal escapar-ho amb if [[ "$a" > "$b" ]] o if [ "$a" \> "$b" ]
-z: és nul, logitud zero
-n: no és nul

fitxers i directoris…

-d: directori existeix, if [ -d "$DIRECTORY" ]
-L: enllaç simbòlic existeix, if [ -L "$SYMLINK" ]
-f: fitxer existeix, if [ -f /ruta/al/fitxer ]
2019-01-18T17:21:42+02:0010 01 2019|bash, linux|