Cerca all'interno del corso
Ricevi un trucco a settimana !!

Corso di Sistemi Operativi

Caratteristiche avanzate della shell - Parte I
Lezione 26
Parte 2 di 3

 

Vedi anche i corsi correlati:


Partner:


 

Molte nuove shell consentono anche di redirigere lo standard output in aggiunta (utilizzando i caratteri '>>') e di redirigere lo standard error (con i caratteri '2>').
Ad es.:

$ sort >> destinazione.txt 2> errori.txt

scrive i messaggi di errore nel file 'errori.txt' e l'output viene accodato al contenuto del file 'destinazione.txt', ovvero se il file esiste non viene sovrascritto, ma gli vengono aggiunti i nuovi dati.

Spesso può presentarsi l'esigenza di utilizzare i dati di output di un programma come input per un altro programma.
Una prima soluzione potrebbe essere quella di utilizzare la redirezione verso/da un file temporaneo da rimuovere successivamente.
Ad es. nella riga:

$ sort < sorgente.txt > temp.txt; head -20 temp.txt; rm -f temp.txt

si è utilizzata la concatenazione di comandi, indicata con il metacarattere ';', per eseguire in successione tre comandi:
1) prendere le righe contenute nel file 'sorgente.txt', ordinarle alfabeticamente e scriverle sul file 'temp.txt';
2) prendere le prime 20 righe del file 'temp.txt' e stamparle sullo standard output;
3) rimuovere il file 'temp.txt' (l'opzione -f forza la cancellazione senza chiedere conferma all'utente).

Notiamo che, in questo esempio, l'esecuzione dei comandi successivi è subordinata al successo dell'esecuzione dell'istruzione precedente.
Infatti se programma sort non va a buon fine il file 'temp.txt' sarà vuoto (o non esisterà affatto), per cui non avrà senso eseguire i programmi seguenti.
Per consentire un controllo più completo sui programmi concatenati, molte shell offrono un operatore di controllo, indicato con '&&', che si comporta come un operatore booleano AND: se il valore di uscita di ciò che sta a sinistra è vero, viene eseguito anche quanto sta a destra.

 


   
Home Page

A Cura di Angelo Carpenzano (©)

Scarica questa lezione: Clicca qui per scaricare la lezione


 

Segnala questa lezione ad un amico!
Nome Amico:
eMail Amico:
Tuo Nome:
Regalagli anche la Newsletter di questo corso!