Come eseguire più comandi contemporaneamente in Linux

10 ott 2022 2 min di lettura
Come eseguire più comandi contemporaneamente in Linux
Indice dei contenuti

Introduzione

Impareremo come eseguire più comandi contemporaneamente in Linux in questo articolo. Ogni operatore ha i suoi vantaggi quando si tratta di separare i comandi. Questo tutorial aiuterà un po' a migliorare il modo in cui eseguiamo i comandi e gli script della shell dell'autore.

Il sistema operativo Linux offre una semplice interfaccia a riga di comando per la gestione del sistema. Esistono shell come Bash, CSH e Zsh che accettano comandi dall'utente e li instradano al kernel. Un comando viene utilizzato per eseguire alcune funzioni sul sistema. Possiamo anche specificare più shell contemporaneamente ed eseguirle una dopo l'altra.

Sono disponibili tre opzioni distinte utilizzando gli operatori separatori. Nella sezione seguente, li esamineremo in dettaglio.

Utilizzare il punto e virgola (;)

I punti e virgola (;) separano i comandi per garantire che i comandi successivi vengano eseguiti indipendentemente dagli stati di uscita dei precedenti. Utilizzare questa opzione per assicurarsi che il comando venga eseguito dopo il completamento di quello precedente.

Sintassi:

command1;  command2;  commandN

Esempio:

date; pwd; whoami 
Sun Aug  7 03:51:00 UTC 2022
/home/noviello
noviello

Anche se il secondo comando ha esito negativo a causa di un errore di autorizzazione, il terzo comando viene comunque eseguito nei seguenti comandi:

date; touch /root/a.txt; whoami 

Utilizzare l'operatore AND logico (&&)

Dopo aver eseguito correttamente il comando precedente, verrà eseguito anche il comando successivo. L'operatore logico AND (&&) verifica lo stato di uscita del comando precedente.

Tuttavia, se il comando precedente è terminato con uno stato di uscita diverso da zero, l'esecuzione si interromperà qui. In questo caso non verranno eseguiti comandi successivi.

Sintassi:

command1 &&  command2 && commandN

Esempio:

mkdir ./backups && cd ./backups 

L'ultimo comando non verrà eseguito se il primo comando non è riuscito per qualsiasi motivo:

 mkdir /root/backups && cd /root/backups 
mkdir: cannot create directory ‘/root/backups’: Permission denied

Utilizzare l'operatore OR logico (||)

La condizione logica OR (||) verifica lo stato di uscita del comando precedente ed esegue il comando successivo solo se il comando precedente non è riuscito.

Sintassi:

command1 || command2 || commandN

È possibile utilizzare questo costrutto negli script della shell per determinare se è disponibile un file o un comando. Ad esempio, in uno script di backup, puoi verificare se /usr/bin/mysqldump esiste o meno e, in caso contrario, puoi stampare un messaggio o terminare il processo:

[ -s /usr/bin/mysqldump ] || echo "command not found" 

Usalo per testare un comando o un file che non è sul tuo sistema. Questo è utile per gli script bash che creano file se mancano. Puoi anche interrompere l'esecuzione dello script se mancano i file richiesti:

 [ -s /usr/bin/not_a_cmd ] || echo "command not found" 

Conclusione

In questo articolo, esamineremo come eseguire più comandi contemporaneamente in Linux. Tratteremo anche i vari operatori utilizzati per separare i comandi l'uno dall'altro. Ogni operatore influisce sul modo in cui viene eseguito un comando e ognuno ha i suoi vantaggi. Questo tutorial fornirà alcune informazioni utili a chiunque sia interessato a migliorare le proprie capacità di esecuzione dei comandi o di scrittura di script di shell.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.