
In questo tutorial vedremo come concatenare ed eseguire comandi nel terminale Linux utilizzando gli operatori Bash &&, || e &.
Imparerai a:
- eseguire un ordine solo se il precedente ha successo con
&&, - eseguire un ordine se il precedente fallisce con
||, - eseguire più comandi in parallelo con
&.
Al termine di questa guida, saprai come padroneggiare questi operatori per rendere i tuoi script e l’utilizzo del terminale più efficienti e potenti.
Sommario
In Bash, usa && per eseguire un comando solo se il precedente ha avuto successo.
L’operatore && viene utilizzato per eseguire un comando solo se il comando precedente è andato a buon fineQuesta soluzione è ideale per concatenare ordini che dipendono l’uno dall’altro.
Alcuni esempi di utilizzo:
Aggiornamento del sistema:
sudo apt update && sudo apt upgrade -yAggiornamento dei container tramite un file docker-compose.yml:
sudo docker compose down && sudo docker compose pull && sudo docker compose up -dIn Bash, usa || per eseguire un comando solo se il precedente fallisce.
L’operatore || consente di eseguire un comando solo se il comando precedente non è riuscitoÈ utile per gestire gli errori direttamente nel terminale o nei tuoi script.
Esempi concreti di utilizzo:
Verifica se la cartella esiste, altrimenti creala:
[ -d /tmp/mon_dossier ] || mkdir /tmp/mon_dossierInstalla un pacchetto se il comando non riesce:
command -v curl || sudo apt install curl -yAvviso in caso di errore nell’ordine:
cp fichier.txt /destination/ || echo "Erreur : impossible de copier fichier.txt"Eseguire i comandi in parallelo nel terminale Bash con &
Il simbolo & consente di avviare un comando sullo sfondovale a dire, eseguirlo in parallelo con altri comandi, senza bloccare il terminale.
3 esempi pratici di utilizzo di & in Bash per eseguire i comandi in parallelo su base giornaliera:
Avvia più download contemporaneamente:
wget https://example.com/fichier1.zip &
wget https://example.com/fichier2.zip &
wget https://example.com/fichier3.zip &
waitL’aggiunta di
waitalla fine ti consente di attendere il completamento di tutti i download prima di continuare.
Eseguire più script di elaborazione in parallelo:
./script1.sh &
./script2.sh &
./script3.shAvvio di più ping in parallelo:
ping -c 4 google.com &
ping -c 4 cloudflare.com &
ping -c 4 yahoo.comBonus: Concatenare più comandi Bash con ; senza condizioni
Il punto e virgola ; consente l’esecuzione diversi comandi consecutivi su una singola riga, indipendentemente dal successo o dal fallimento del comando precedente. È l’operatore ideale per concatenare rapidamente i comandi nel terminale.
Esempi pratici per ; in Bash:
Eseguire più comandi consecutivi:
echo "Début du script" ; mkdir /tmp/test ; echo "Dossier créé"I comandi vengono eseguiti al fine, anche se
mkdirfallisce.
Aggiorna il sistema e poi ripuliscilo:
sudo apt update ; sudo apt upgrade -y ; sudo apt autoremove -yVisualizza più messaggi su una singola riga
echo "Bonjour" ; echo "Bienvenue sur le terminal" ; echo "Amusez-vous !"Conclusione
In questo tutorial abbiamo visto come concatenare ed eseguire comandi nel terminale Bash con diversi operatori:
&&: esegui il seguente comando se il precedente ha successo.||: esegui il seguente comando se il precedente fallisce.&: avvia un comando in parallelo sullo sfondo.;: concatenazione di più comandi incondizionatamente, sempre in ordine.
Padroneggiare questi operatori permette di rendere più efficienti gli script e l’utilizzo del terminale. più efficiente e flessibileche si tratti di automatizzare le attività, gestire gli errori o risparmiare tempo con l’esecuzione parallela.
Con questi concetti, ora sei in grado di controlla con precisione l’esecuzione dei tuoi comandi Bash e per ottimizzare i tuoi script Linux.
