Come eseguire due o più comandi terminal contemporaneamente in Linux

00_lead_image_combining_commands

Se usi Linux, sai quanto può essere utile la riga di comando per lavorare con file, installare software e avviare programmi. Ma può essere ancora più efficiente se si eseguono più comandi contemporaneamente.

La combinazione di due o più comandi sulla riga di comando è anche nota come “concatenamento dei comandi”. Ti mostreremo diversi modi in cui puoi combinare i comandi sulla riga di comando.

Opzione 1: l'operatore punto e virgola (;)

RELAZIONATO: La guida per principianti agli script di shell: le basi

L'operatore punto e virgola (;) consente di eseguire più comandi in successione, indipendentemente dal fatto che ciascun comando precedente abbia esito positivo. Ad esempio, apri una finestra Terminale (Ctrl + Alt + T in Ubuntu e Linux Mint). Quindi, digitare i seguenti tre comandi su una riga, separati da punti e virgola e premere Invio. Questo ti darà un elenco della directory corrente ( ls ), scopri in quale directory ti trovi attualmente ( pwd ) e visualizza il nome di accesso ( whoami ) tutto in una volta.

ls ; pwd ; whoami

Non devi nemmeno inserire spazi tra i punti e virgola e i comandi. È possibile inserire i tre comandi come ls;pwd;whoami . Tuttavia, gli spazi rendono il comando combinato più leggibile, il che è particolarmente utile se si inserisce un comando combinato in uno script di shell.

01_combining_commands_with_semicolon_operator

Opzione due: operatore logico AND (&&)

Se si desidera eseguire il secondo comando solo se il primo comando ha esito positivo, separare i comandi con l'operatore AND logico, che è due e commerciali ( && ). Ad esempio, vogliamo creare una directory chiamata MyFolder e quindi passare a quella directory, a condizione che sia stata creata correttamente. Quindi, digitiamo quanto segue sulla riga di comando e premiamo Invio.

mkdir MyFolder && cd MyFolder

La cartella è stata creata correttamente, quindi il file cd il comando è stato eseguito e ora siamo nella nuova cartella.

Si consiglia di utilizzare l'operatore AND logico anziché l'operatore punto e virgola per la maggior parte del tempo (;). Questo ti assicura di non fare nulla di disastroso. Ad esempio, se si esegue un comando per passare a una directory e quindi forzare rimuovere tutto ricorsivamente in quella directory ( cd /some_directory ; rm -Rf * ), potresti finire per rovinare il tuo sistema se la modifica della directory non avvenisse. Non che ti consigliamo di eseguire un comando per rimuovere incondizionatamente tutti i file in una directory contemporaneamente.

02_combining_commands_with_logical_and_operator

Opzione tre: l'operatore logico OR (||)

A volte potresti voler eseguire un secondo comando solo se il primo comando lo fa non avere successo. Per fare ciò, utilizziamo l'operatore logico OR o due barre verticali ( || ). Ad esempio, vogliamo verificare se esiste la directory MyFolder ( ( -d ~/MyFolder ) ) e crearlo in caso contrario ( mkdir ~/MyFolder ). Quindi, digitiamo il seguente comando al prompt e premiamo Invio.

( -d ~/MyFolder ) || mkdir ~/MyFolder

Assicurarsi che sia presente uno spazio dopo la prima parentesi e prima della seconda parentesi o del primo comando che controlla se la directory esiste non funzionerà.

Nel nostro esempio, la directory MyFolder non esiste, quindi il secondo comando crea la directory.

03_combining_commands_with_logical_or_operator

Combinazione di più operatori

Puoi anche combinare più operatori sulla riga di comando. Ad esempio, vogliamo prima verificare se esiste un file ( ( -f ~/sample.txt ) ). In tal caso, stampiamo un messaggio sullo schermo dicendo che ( echo “File exists.” ). In caso contrario, creiamo il file ( touch ~/sample.txt ). Quindi, digitiamo quanto segue al prompt dei comandi e premiamo Invio.

( -f ~/sample.txt ) && echo “File exists.” || touch ~/sample.txt

Nel nostro esempio, il file non esisteva, quindi è stato creato.

04_using_two_different_operators

Ecco un utile riepilogo di ciascuno degli operatori utilizzati per combinare i comandi:

  • A ; B – Esegui A e poi B, indipendentemente dal successo o dall'errore di A
  • A && B – Esegui B solo se A ha avuto successo
  • A || B – Esegui B solo se A fallisce

Tutti questi metodi di combinazione dei comandi possono essere utilizzati anche negli script di shell sia su Linux che su Windows 10.

RELAZIONATO: Come creare ed eseguire script Bash Shell su Windows 10

È inoltre possibile correggere automaticamente l'ortografia e gli errori di battitura quando si utilizza “cd” sulla riga di comando in Linux per evitare conseguenze drastiche quando si combinano i comandi.

Articoli correlati

Ultimi articoli