Siti, blog e web hosting gratis Crea sito web
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