Il comando TEE prende l'input standard e lo invia a uno o più file e l'output standard. Il comando a tee deriva dal tubo t-splitter. Rompe semplicemente l'output di un programma in modo che possa essere mostrato e salvato in un file. Esegue entrambi i lavori contemporaneamente, copia l'output ai file o variabili forniti e visualizza l'output.
Sintassi:
$ tee [opzioni] [file]
Opzioni:
File: ci sono più file. I dati di output sono scritti a ciascuno di essi.
Il descrittore di file predefinito per il processo di scrittura dei messaggi di errore è stderr, spesso noto come errore standard. Gli errori standard possono essere inoltrati alla riga di comando in bash. Questo articolo riguarda il reindirizzamento dell'output da Stderr usando il comando TEE in diversi scenari.
Reindirizzare Stderr usando il comando TEE
Gli errori standard vengono inoltrati alla riga di comando in bash. Il reindirizzamento di Stderr potrebbe consentire di acquisire messaggi di errore in un file di registro distinto o eliminare completamente i messaggi di errore. Spiegheremo la procedura per reindirizzare STderr usando il comando TEE con i seguenti esempi.
Passaggio 1: creare un file bash
Innanzitutto, crea un file bash “Linux.sh "usando il seguente comando:
$ Nano Linux.sh
Passaggio 2: scrivi il codice
Ora, scrivi il seguente codice nel file o puoi scrivere qualcos'altro in base al tuo requisito:
$ #!/Bin/Bash
Echo ciao
1> & 2 Echo World
Passaggio 3: verificare se il file bash funziona
Ora, controlla se il file bash funziona correttamente o se il codice scritto in esso è corretto eseguendo il seguente comando nel terminale:
$ ./Linux.sh
Il risultato dato emette il risultato corretto, il che dimostra che il codice funziona correttamente.
Esegui un altro comando menzionato di seguito per controllare il codice di lavoro:
$ ./Linux.sh>/dev/null
Ora, esegui il seguente comando per controllare il funzionamento del codice:
$ ./Linux.sh 2>/dev/null
Abbiamo ottenuto l'output previsto; Significa che il codice è corretto.
Passaggio 4: reindirizzare lo stderr al comando tee
Il> (...) (sostituzione del processo) stabilisce un FIFO e lo rende disponibile per l'ascolto. Quindi, impiega> (reindirizzamento del file) per inviare il comando al FIFO che il tuo primo tee sta monitorando.
Il comando seguente reindirizza Stderr al tee. Reindirizza l'output su "/tmp/log":
$ ./Linux.SH 2 >> (TEE /TMP /LOG)
Ora, output il file in cui abbiamo reindirizzato l'output.
$ cat /tmp /log
Per impostazione predefinita, TEE stampe su stdout. Stampa questo su Stderr.
$ (./Linux.SH 2 >> (TEE/TMP/LOG> & 2))>/Dev/Null
Conclusione
Il comando TEE legge i dati da un file/file di input e scrive l'output ricevuto in molti file. Reindirizzamento degli errori su Stderr può essere eseguito con l'aiuto del comando TEE. Esistono molti modi per reindirizzare l'output. Ma in questo articolo, abbiamo descritto una procedura, con l'aiuto di un esempio, per reindirizzare STderr alla maglietta usando un file bash e visualizzato l'output su Ubuntu (sistema operativo Linux). Troverai questo articolo utile per reindirizzare STderr usando il comando TEE.