Skip to main content
  1. Concetti/

Command Chaining e Grouping

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cos'è
#

Definisce gli operatori e le tecniche per eseguire sequenze di comandi in Bash, permettendo di condizionare l'esecuzione al successo o al fallimento dei passi precedenti.


Sintesi degli Operatori di Concatenazione
#

OperatoreNomeLogica di EsecuzioneQuando usarlo
;SemicolonEsegue il secondo comando sempre, a prescindere dal primo.Task indipendenti (es. clear; ls).
&&AND logicoEsegue il secondo comando solo se il primo ha successo (exit 0).Task dipendenti (es. make && make install).
||OR logicoEsegue il secondo comando solo se il primo fallisce (exit != 0).Gestione errori (es. mkdir d || echo "Errore").

Raggruppamento (Grouping)
#

A volte e' necessario convogliare l'output di piu' comandi verso un unico file o pipe senza ripetere i redirect.

Sintesi: (Comando A; Comando B) > output.txt
#

Usando le parentesi tonde, Bash crea una subshell che raggruppa tutti gli output standard (stdout) in un unico flusso.

Esempio Pratico:

# Invece di fare:
head -n 15 access.log > estratto.txt
tail -n 10 access.log >> estratto.txt

# Puoi fare in un colpo solo:
(head -n 15 access.log; tail -n 10 access.log) > estratto.txt
Vantaggio SOC

Questo metodo e' piu' pulito, evita di aprire e chiudere il file di output piu' volte (meno stress per il disco e meno rischi di race condition) e garantisce che l'ordine delle righe sia preservato esattamente come desiderato.


Collegato a
#

Related