IMC!


Contenuti


Foto

 







Curiosando...
Novita  Novità Link  Link Blog  Blog English  Español 
04 - Struttura condizionale if nella bash

 | 

L'istruzine condizionale fondamentale if..then..elif..else..fi è leggermente diversa dalla notazione standard del C. La sua struttura è:

if [condizione1]; then
  codice1
elif [condizione2]; then
  codice2
else
  codice3
fi

Il significato dei vari comandi è il seguente:
  • if: esegue codice1 se la [condizione1] è vera.
  • then: indica dove inizia il codice da eseguire in base alla condizione.
  • elif: equivalente a else if in C. Esegue codice2 se [condizione2] è vera, ma [condizione1] non è vera. Conclude anche la porzione di codice eseguita dal precedente if / elif.
  • else: esegue codice3 se nessuna delle precedenti condizioni è vera.
  • fi: chiude il blocco condizionale.
Il seguente script verifica che un file esista:

#!/bin/bash
if [ -f topolino.c ];
then
  cat topolino.c
else
  echo "Il file non esiste"
fi

Controlli sui file
Le condizioni sono sempre scritte all'interno di parentesi quadre. Da notare che la parentesi di apertura deve essere sempre seguita da uno spazio, e quella di chiusura preceduta da uno spazio. Esistono una serie di indicatori che permettono di verificare condizioni sui file, secondo la sintassi:

[ controllo /etc/file_da_controllare]

Tali controlli sono:

ControlloSignificato
-d:Verifica che il file sia una directory
-e:Verifica che il file esista
-f:Verifica che il file sia regolare
-g:Ccontrolla se il bit SGID è impostato
-r:Verifica che il file abbia i permessi di
lettura per l'utente che esegue lo script
-s:Verifica che la dimensione del file non sia 0
-u:Verifica se il bit SUID è impostato
-w:Verifica che il file sia scrivibile

 | 






Fatal error: Call to undefined function sqlite_open() in /membri/giacobbe85/include/commenti.inc.php on line 324