Valid HTML 4.01 Transitional

Home INTRO Variabili Output Aritmetica Selezioni Ripetizioni Test Funzioni

 

Generalita' Comandi Programmazione Manuale Zenity Free Script

 

 

CSS Valido!

 

 

Informazioni   Corso Linux - Sezione Programmazione - Capitolo Test

Che cosa sono i Test?

Sono condizioni che controllano lo stato dei file, dette primitive di test sui file, sulle stringhe e sui numeri.

Principali primitive di test sui file:
-r nome_del_file <--se il file ha il permesso in lettura
-w nome_del_file <--se il file ha il permesso in scrittura
-e nome_del_file <--se il file esiste
-z nome_del_file <--se il file e' vuoto
-s nome_del_file <--se il file e' pieno
-f nome_del_file <--se il file e' un file ordinario
-d nome_del_file <--se e' una directory
Espressioni condizionali per le stringhe
-z stringa <--se la stringa e' vuota (0 byte)
-n stringa <--se la stringa ha piu' bite
stringa1 = striga2 <--se la stringa1 e' uguale a stringa2
stringa1 != striga2 <--se la stringa1 e' diversa da stringa2
stringa1 < striga2 <--se la stringa1 precede in ordine alfabetico la stringa2
stringa1 > striga2 <--se la stringa1 segue in ordine alfabetico la stringa2
Espressioni condizionali per i numeri (con numero1 e numero2 indichiamo variabili numeriche o espressioni)
numero1 -eq numero2 <--se numero1 = numero2
numero1 -ne numero2 <--se numero1 diverso da numero2
numero1 -lt numero2 <--se numero1 minore di numero2
numero1 -le numero2 <--se numero1 minore od eguale a numero2
numero1 -gt numero2 <--se numero1 maggiore di numero2
numero1 -ge numero2 <--se numero1 maggiore od eguale a numero2
Operatori booleani
! espressione <-- negazione logica NOT dell'espressione
espressione1 -a espressione2 <-- e' vera se le due espressioni sono vere (AND)
espressione1 -o espressione2 <-- e' vera se almeno una delle due espressioni e' vera (OR)

Esempio:

#!/bin/bash
a=5; stringa1="casa";stringa2="citta'";

if [ $a -ge 1 -a $a -le 10 ];then <-- se $a e'>= a 1 e $a e' <= a 10
echo "$a compreso nell'intervallo da 1 a 10"
elif [ $a -gt 10 ];then <-- se $a e'> di 10
echo "$a esterno all'intervallo"
else
echo "Non so"
fi
if [ $stringa1 < $stringa2 ];then <-- se casa viene prima di citta' nel vocabolario
echo "$stringa1 precede $stringa2"
fi
if [ -e $stringa1 ];then <-- se il file casa nella directory attuale esiste
echo "il file $stringa1 esiste"
else
echo "il file $stringa1 non esiste"
fi

 

Copyright ©2009 Ciro Nuzzo - proglinux.altervista.org