4.3.10 Tipiche sequenze di comandi
Proviamo a ricordare i seguenti comandi idiomatici della shell. Vedere Parametri della shell, Sezione
13.2.3,
Redirezione, Sezione
13.2.4,
Condizionali, Sezione
13.2.5, e
Processamento delle
righe di comando, Sezione 13.2.6 dopo aver letto questi idiomi.
4.3.10.1 comando &
Il comando
viene eseguito nella subshell nello
sfondo. I lavori nello sfondo permettono all'utente di
lanciare pi� programmi in una singola shell.
La gestione dei processi nello sfondo coinvolge i fondamentali della shell:
jobs
, fg
, bg
, e kill
.
Leggete le sezioni della pagina di manuale bash(1)
sotto
"SIGNALS", "JOB CONTROL", e "SHELL BUILTIN
COMMANDS". [
29]
4.3.10.2 comando1 | comando2
Lo standard output di comando1
viene dato allo standard input di
comando2
. Entrambi i comandi possono essere eseguiti
contemporaneamente. Questa si chiama
pipeline.
4.3.10.3 comando1 ; comando2
comando1
e comando2
sono eseguiti in
sequenza.
4.3.10.4 comando1 && comando2
comando1
viene eseguito. Se con successo, comando2
viene eseguito in sequenza. Verr� restituito un successo se
sia comando1
che comando2
sono stati
eseguiti con successo.
4.3.10.5 comando1 || comando2
comando1
viene eseguito. Se non con successo, allora anche
comando2
viene eseguito in sequenza. Verr�
restituito un successo se comando1
oppure
comando2
sono stati eseguiti con successo.
4.3.10.6 comando > foo
Redireziona lo standard output di comando
ad un file
foo. (sovrascrive)
4.3.10.7 comando >> foo
Redireziona lo standard output di comando
ad un file
foo. (appende)
4.3.10.8 comando > foo 2>&1
Redireziona sia lo standard output che lo standard error di
comando
ad un file foo.
4.3.10.9 comando < foo
Redireziona lo standard input di comando
ad un file
foo. Provate:
$ </etc/motd pager
... (il saluto)
$ pager </etc/motd
... (il saluto)
$ pager /etc/motd
... (il saluto)
$ cat /etc/motd | pager
... (il saluto)
Sebbene tutte e 4 le sintassi mostrino la stessa cosa, l'ultimo esempio lancia
un comando in pi�, cat
e spreca risorse senza motivo.