

Indirizzare l’output dei comandi shell in un file.
Cosa potrebbe serivre questa funzionalita’? Potrebbe essere necessario monitorare uno script controllandone l’esecuzione o gli errori, oppure potrebbe essere utile per indirizzare l’output del comando in un file su cui un’altro script recuperera’ le informazioni per eseguire altre funzioni.
Vediamo ora i diversi metodi per indirizzare l’output in un file
user@linux:$ comando > nomefile.txt
Questa modalita crea all’esecuzione di ‘comando’ un file di nome ‘nomefile.txt’ con all’interno tutto quello che sarebbe stato stampato a video nella shell di esecuzione, se il file non esiste lo crea, altrimenti se gia’ esistente lo sovrascrive. Dunque il simbolo ‘>’ sta a indicare la modalita di scrittura nel file. Vediamo quali sono le opsioni che possiamo usare :
simbolo | descrizione |
---|---|
> | Scrive in nuovo file, se esiste lo sovrascrive |
>> | Scrive accodando alla fine del file se esiste, se non presente crea il file |
2> | Scrive solo gli errori standard se file esiste lo sovrascrive. L’output del comando viene mandato a video |
2>> | Come sopra ma accoda gli errori alla fine del file |
&> | Scrive sia l’output che gli errori standard sul file e non visualizza nulla sul video |
&>> | come sopra ma accoda alla fine del file |
Un secondo metodo per reindirizzare e’ l’uso di tee. Se con il metodo precedente l’output del comando veniva reindirizzato sul file senza mostrare nulla a monitor, con tee e’ possibile indirizzare l’output nel file ed allo stesso tempo visualizzarlo sul monitor.
user@linux:$ comando | tee nomefile.txt
Nella tabella sotto sono riportati le varie versioni del comando e il loro risultato.
metodo | descrizione |
---|---|
| tee | manda a schermo il risultato del comando in piu scrive sul file, se il file esiste lo sovrascrive |
| tee -a | manda a schermo il risultato del comando in piu scrive sul file, se il file esiste aggiunge il testo alla fine |
|& tee | Manda a schermo sia l’output che gli errori standard in piu scrive tutto sul file , se esiste lo sovrascrive |
|& tee -a | Manda a schermo sia l’output che gli errori standard in piu scrive tutto sul file se esiste aggiunge il testo alla fine |