Concatenazione di comandi nel terminale

Come essere produttivi nel terminale di GNU/Linux | 8/24/2017

Se usi Linux, probabilmente già sai quanto è utile la linea di comando per gestire files, installazione di softwares e esecuzione di programmi. Ma questa risorsa può essere ancora più efficiente nel caso si vuole eseguire vari comandi allo stesso tempo. La combinazione di due o più comandi è conosciuta come "concatenazione di comandi".

Vedi nel seguente tutorial quattro modi de combinare comandi.

 

1) L'operatore punto e virgola (;)

L'operatore punto e virgola (;) permette l'esecuzione di vari comandi in successione. per capire meglio, apri una finestra del terminale (in Ubuntu e GNU/Linux Mint, premi i tasti CTRL+Alt+T). Di seguito, digitare i seguenti tre comandi in una linea, separandoli con punto e virgola, e premere Invio.

ls ; pwd ; whoami

ls;pwd;whoami commands

Eseguendo tre comandi in sequenza nel terminale di GNU/Linux

(Foto: Salvatore Castiglione)

Questa sequenza darà come risultato la lista del contenuto della directory attuale (ls), mostrerà la directory corrente dove stiamo (pwd), e mostrerà il proprio nome di login (whoami), tutto con la nostra combinazione di comandi. In questa combinazione, non è necessario inserire spazi tra i punti e virgole e i comandi poichè sarà possibile inserire i tre comandi giunti: ls;pwd;whoami.

 

2) L'operatore logico E (&&)

Se necessitiamo che il secondo comando sia eseguito dopo del primo, separarli con l'operatore logico E, rappresentato con una doppia e commerciale (&&). Per esempio, se si vuole creare una directory chiamata "cartella" e dopo entrarci, digitare la seguente sequenza e premere Invio:

mkdir cartella && cd cartella

mkdir cartella && cd cartella commands

Eseguendo due comandi con l'operatore E (&&)

(Foto: Salvatore Castiglione)

Osservare che all'esecuzione della sequenza, la directory è stata creata con successo. Con questo risultato, si nota che, nella maggior parte dei casi, è più sicuro usare l'operatore logico E, invece dell'operatore punto e virgola (;), poichè questo garantisce che non sarà fatto niente di disastroso.

 

3) L'operatore logico OR (||)

Nel caso si ha bisogno di eseguire un secondo comando, solamente se il primo comando non sarà eseguito con successo, usare l'operatore logico O, che è rappresentato da due barre verticali (||). Per esempio: se si vuole verificare che esista una directory cartella ( [ -d ~/cartella ] ) e non esiste, basta crearla usando il comando mkdir ~/cartella.

Di seguito, digitare il seguente comando nel terminale di GNU/Linux e premere Invio:

[ -d ~/cartella ] || mkdir ~/cartella

[ -d ~/cartella ] || mkdir ~/cartella commands

Eseguendo due comandi con l'operatore O (||)

(Foto: Salvatore Castiglione)

Nell'esempio, perchè tutto funziona correttamente, verificare che esista uno spazio dopo la prima parentesi quadra e uno davanti alla seconda. Nel caso non sia così, il primo comando che verifica se la directory esiste non funzionerà. Se è stato digitato correttamente, essendo che la directory "cartella" non esiste, il secondo comando la creerà.

 

4) Combinando vari operatori

Si possono combinare anche vari operatori nella stessa sequenza. Per esempio, per verificare se esiste un file ( [ -f ~/pippo.txt ] ). Se questo succederà, il sistema andrà a mostrare un messaggio nello schermo confermando che il file esiste ( echo “File esiste.” ). Se il file non esisterà, un comando creerà il file ( touch ~/pippo.txt ).

Digitiamo il comando nel terminale e premere Invio:

[ -f ~/pippo.txt ] && echo “File esiste.” || touch ~/pippo.txt

[ -f ~/pippo.txt ] && echo “File esiste.” || touch ~/pippo.txt commands

Eseguendo tre comandi con operatori differenti

(Foto: Salvatore Castiglione)

Dopo questi esempi, immaginiamo le possibilità e come queste potranno aiutarci.

E per finire, tutti questi metodi di combinazione possono essere usate dentro di scripts in GNU/Linux (e adesso anche in Windows 10).


Categorie: Gnu/Linux, How-To
Categorie
Cookie Law