HTML.it logo
Learn
  • Design
    • Grafica
    • User Interface Design
    • Adobe Creative Suite
    Guide
    Approfondimenti
    Faq
    Notizie
    Tutto in Design >
  • Development
    • .NET
    • ASP
    • CMS
    • Flash
    • Java
    • JavaScript
    • PHP
    • Essentials
    • Ruby
    • XML
    • Editor
    • CSS
    • HTML
    Guide
    Approfondimenti
    Script
    Faq
    Notizie
    Tutto in Development >
  • Mobile
    • Android Studio
    • Cordova
    • Eclipse
    • Objective C
    • Swift
    Guide
    Approfondimenti
    Script
    Faq
    Notizie
    Tutto in Mobile >
  • Server
    • Cloud
    • Database
    • OS
    • Sicurezza
    • Network
    Tutto in Server >
  • Digital Marketing
    • SEO
    • Affiliate Marketing
    • Social Media Marketing
    Tutto in Digital Marketing >
  • Makers
    • Arduino
    • RaspberryPi
    • Stampa 3D
    Guide
    Approfondimenti
    Notizie
    Tutto in Makers >
  • Game Design
    • Unity
    Guide
    Approfondimenti
    Notizie
    Tutto in Game Design >
Download
  • Audio e Video
    • Player Audio Video
    • Codec audio
    • Montaggio
    • Masterizzazione
    • Ripper e Convertitori
    • Speech
    • Creatività
    • Ripresa
    • Riproduzione
    Tutto in Audio e Video >
  • Educazione
    • Bambini
    • Cartoni in Streaming
    • Cucina
    • Salute e Benessere
    • Didattica
    • Istruzione
    • Giochi Didattici
    Tutto in Educazione >
  • Videogame
    • Arcade
    • Avventura
    • Azione
    • Board
    • Carte
    • Giochi di ruolo
    • Giochi Online
    • Puzzle e Enigmistica
    • Simulazione
    • Sparatutto
    • Sport
    • Strategia e Giochi di Guerra
    • Tempo Libero
    Tutto in Videogame >
  • Grafica
    • Accessori & Mappe
    • Animazione
    • CAD – 3D
    • Cattura schermo
    • Convertitori e ridimensionatori
    • Editor
    • Flash
    • Font
    • Ritocco
    • Gallerie e album
    • Icone e loghi
    • Visualizzatori
    Tutto in Grafica >
  • Internet
    • Browser
    • Chat e IM
    • eMail
    • Estensioni & Temi
    • FTP
    • Network
    • News e RSS
    • Peer to Peer
    • Webcam
    Tutto in Internet >
  • Programmazione
    • Accessori
    • CMS e E-Commerce
    • Editor e Compilatori
    • Editor e strumenti Web
    • Linguaggi
    Tutto in Programmazione >
  • Sicurezza
    • Antispam
    • Antispyware
    • Antivirus
    • Server
    Tutto in Sicurezza >
  • Produttività
    • Backup
    • Compressione
    • Connettività
    • Database
    • Fax e Telefonia
    • Gestione disco
    • Ottimizzazione
    • Ufficio
    • Utilità di Sistema
    Tutto in Produttività >
  • Auto
    • Accessori Auto
    • Gare
    • Utility
    Tutto in Produttività >
  • Casa
    • Home Design
    • Home Security
    • IoT
    • Progettazione
    • Smart Home
    Tutto in Produttività >
Notizie
Video
Forum
in  
Trend
GuideHTMLJavaLinguaggio CPythonJavaScriptPHPC++CSSAndroidApprofondimenti
INDICE DELLA GUIDA
Introduzione
  1. 1 Introduzione allo Shell Scripting

Shell Scripting di Base
  1. 2 Hello World: il primo script

  2. 3 Utilizzare le variabili

  3. 4 Variabili built-in

  4. 5 Array

  5. 6 Operatori aritmetici e logici

  6. lezione
    7 di 16

    Il comando test

  7. 8 Costrutti condizionali: if e case

  8. 9 Iterazioni: i cicli for, while ed until

  9. 10 Funzioni

Scripting avanzato
  1. 11 Quoting: differenze tra apici e virgolette

  2. 12 Redirezione dell'I/O

  3. 13 Espressioni regolari e caratteri speciali

  4. 14 Exit: terminare uno script

Appendice
  1. 15 Debugging: consigli utili

  2. 16 Shell Script, un esempio completo

  • Learn
  • Shell Scripting e Bash: la Guida
  • Il comando test
lezione
7 di 16

Il comando test

  • di Tommaso Turchi
  • 7 Maggio 2015

Come in ogni linguaggio di programmazione, anche in Bash è possibile verificare il valore contenuto nelle variabili dichiarate, mediante il comando test: esso che ritorna 0 (vero) o 1 (falso), a seconda della valutazione dell’espressione assegnata. Si possono anche usare le parentesi quadre in sostituzione di test: test expr e [ expr ] sono quindi equivalenti. Il risultato della valutazione viene memorizzato nella variabile built-in $?, e lo si può usare con gli operatori booleani && e ||.

Vediamo un semplice esempio:


#!/bin/bash
i="abc"
j="def"
[ $j != $i ]
	 	

echo $?

Questo script utilizza l’operatore != per verificare se il valore contenuto in $j sia diverso da quello contenuto in $i. Si possono confrontare valori aritmetici usando gli operatori -eq (uguale), -ne (diverso), -lt (minore di), -le (minore di o uguale a), -gt (maggiore di), -ge (maggiore di o uguale a). È possibile anche confrontare stringhe, verificandone l’uguaglianza o la precedenza di una rispetto all’altra, utilizzando gli operatori =, !=, <, > (poiché questi ultimi due vengono usati da Bash anche per la redirezione dell’output, è necessario che siano preceduti da \). L’operatore unario -z valuta se la stringa sia nulla, mentre -n o l’omissione di qualunque operatore risulta vero se la stringa non è vuota. Esistono inoltre operatori per test su file, come gli operatori unari -d e -e che valutano rispettivamente l’esistenza del file, e se esso sia una directory, o l’operatore binario -nt, che valuta se il primo file è stato modificato più recentemente del secondo. È utile controllare il manuale (digitando man test) per ottenere la lista di tutte le opzioni di test disponibili.

Infine, è possibile comporre condizioni più complicate tramite gli operatori della logica booleana che abbiamo introdotto nella sezione precedente: l’operatore -a corrisponde all’and logico, -o all’or mentre il ! alla negazione; per imporre la precedenza di un operatore rispetto ad un altro si possono utilizzare le parentesi, che essendo riservate tipicamente all’esecuzione di espressioni in sotto-shell, devono essere in questo caso precedute da \.

Il comando test è implementato su tutte le shell che seguono lo standard POSIX, perciò è utilizzabile su quasi tutte quelle disponibili; Bash, Zsh e la Korn shell implementano anche un nuovo comando test, identificato da doppie parentesi quadre [[, che fornisce una sintassi più semplice e intuitiva degli operatori appena descritti. Utilizzando la nuova sintassi, non è necessario anteporre il simbolo \ alle parentesi, racchiudere fra " le variabili contenenti nomi di file, ed è possibile utilizzare la stessa notazione delle operazioni aritmetiche per i tre operatori di logica booleana &&, || e !. Per ulteriori dettagli sulle specifiche della nuova sintassi, suggeriamo di controllare la pagina di manuale di Bash (digitando man bash).

Se vuoi aggiornamenti su Linux inserisci la tua e-mail nel box qui sotto:

Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi:

8 / 16

Costrutti condizionali: if e case

Ultime notizie

Google Cloud Services Platform in beta

Cybersecurity: nelle aziende manca una cultura della sicurezza

Marzipan: App universali per iOS e MacOS?

Pagina 404: l’importanza del design

(In)sicurezza dei Password manager

I Video di HTML.it

Come guardare Youtube da VLC Media Player

Percorsi formativi correlati
Android Mobile Developer

Android Mobile Developer

5
guide
250 ore

Tutti i linguaggi per diventare uno sviluppatore di app per Android.

DB Administrator

DB Administrator

4
guide
80 ore

Come creare applicazioni per il Web con PHP e MySQL per il DBMS.

iOS Mobile Developer

iOS Mobile Developer

4
guide
180 ore

Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.

Java Developer

Java Developer

7
guide
300 ore

I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.

Java Security Expert

Java Security Expert

5
guide
120 ore

Diventare degli esperti in tema di sicurezza delle applicazioni Java.

Maker

Maker

2
guide
50 ore

Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.

NoSQL DB Expert

NoSQL DB Expert

5
guide
200 ore

Le principali guide di HTML.it per diventare un esperto dei database NoSQL.

PHP Cloud Developer

PHP Cloud Developer

7
guide
80 ore

Ecco come i professionisti creano applicazioni per il Cloud con PHP.

PHP Developer

PHP Developer

5
guide
100 ore

Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.

PHP e JavaScript Developer

PHP e JavaScript Developer

6
guide
100 ore

Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.

PHP Framework Expert

PHP Framework Expert

6
guide
120 ore

Realizzare applicazioni per il Web utilizzando i framework PHP.

PHP SysAdmin

PHP SysAdmin

6
guide
80 ore

Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.

Sviluppare un eCommerce con PHP

Sviluppare un eCommerce con PHP

5
guide
120 ore

Fare gli eCommerce developer con Magento, Prestashop e WooCommerce.

Web &amp; Mobile Designer

Web & Mobile Designer

5
guide
300 ore

Percorso base per avvicinarsi al web design con un occhio al mobile.

WordPress Developer

WordPress Developer

5
guide
150 ore

Realizzare siti Web e Web application con WordPress a livello professionale.

Ti consigliamo anche

Shell Scripting e Bash: la Guida

  • 16 Lezioni
  • Moderata

Bash è la Shell di Linux più utilizzata e diffusa. Essa permette di interagire con il sistema operativo, sia tramite i comandi di base, che combinando questi ultimi in script più complessi. Questa guida completa e pratica offre le basi per imparare a programmare con Bash, partendo dalla sintassi fino alle funzionalità più avanzate, con tanti esempi di codice.

  • Bash su Windows: la guida
  • Bash 5.0, tutte le novità

10 comandi utili e divertenti per Linux

Una carrellata con 10 comandi insoliti, che possono tornare utili ma soprattutto rendere più divertente l'interazione con il terminale di Linux.

  • Google Cloud Services Platform in beta
  • Cybersecurity: nelle aziende manca una cultura della sicurezza

Ubuntu 14.04: fine del supporto il 30 aprile 2019

Azure API Management: primo supporto alle OpenAPI Specification v3

Linux e la bufala dei sorgenti rimossi dal Kernel

  • Guide
  • Approfondimenti
  • Script
  • Q&A
  • Software
  • Tutorial
  • Videogiochi
  • Tag Software
  • News
  • Video
  • Forum
  • Chi siamo
  • Pubblicità
  • Contatti
  • Cookie policy
  • Privacy policy
  • Privacy Policy Newsletter
© HTML.it 1997-2019 | Triboo Media – P. IVA 06933670967 | HTML.it è un periodico telematico reg. Trib. Roma n. 309/2008 | 2.10.3