Costrutti condizionali
  All'interno di uno script, è spesso utile poter controllare
  delle condizioni, per decidere che azione intraprendere.
  Questo permette di ottenere un comportamento equivalente
  allo statement if presente nella maggior
  parte dei linguaggi di programmazione. 
  L'ingrediente base per questi controlli è il programma
  test, che può essere un software effettivamente
  installato, oppure una funzionalità offerta dalla bash.
  Tramite test è possibile controllare varie condizioni.
  Supponiamo ad esempio di voler leggere un file di nome
  file.txt, ma di voler controllare che sia leggibile
  prima di procedere con la lettura. Allora, potremmo controllare
  la condizione con il comando
  
$ test -r file.txtQuesto comando non stampa nulla, ma il suo return code viene settato a zero (sinonimo di "successo") solo nel caso in cui il file sia leggibile.
L'istruzione if
  Tramite il comando test, combinato con l'istruzione
  if, possiamo realizzare il controllo che ci eravamo
  proposti di implementare:
  
#!/bin/bash # Leggo il file file.txt, ma solo se esiste ed è leggibile if test -r file.txt; then cat file.txt fiPer terminare il comando
if, si usa il comando
  scritto al contrario, ovvero fi.
Dato che il comando test si usa molto spesso,
  all'interno della bash è possibile abbreviarlo con la sintassi:
  
[ -r file.txt ]che è completamente equivalente alla scrittura precedente. Avremmo quindi potuto riscrivere il comando
if come segue:
  #!/bin/bash # Leggo il file file.txt, ma solo se esiste ed è leggibile if [ -r file.txt ]; then cat file.txt fi
  Esistono molti altri confronti che è possibile eseguire con
  test. Ad esempio, scrivendo
  test A -eq B possiamo controllare se l'intero
  A è uguale a B. Per vedere tutti
  i controlli che è possibile effettuare, controllare il
  manuale.