Programmazione BASH

Come reindirizzare stderr a stdout in Bash

Come reindirizzare stderr a stdout in Bash
I comandi in Linux richiedono un input dall'utente, che potrebbe essere un file o qualsiasi attributo, e all'esecuzione forniscono un output chiamato output standard. L'output standard potrebbe essere un output di successo o un output di errore; entrambi verranno visualizzati sullo schermo del terminale. Ma in alcuni casi, vuoi archiviare gli output standard in un file per il test o il debug del codice. In Linux, questi output possono essere reindirizzati a un file e il processo di cattura è chiamato reindirizzamento.

Ogni processo In Linux produce tre flussi di dati, "stdin", "stdout" e "stderr":

Ogni flusso di dati ha un ID numerico:

ID numerico Nome
0 standard
1 stdout
2 stderr

Spieghiamo un po' più in dettaglio il reindirizzamento:

Come reindirizzare l'output standard e l'errore standard in Bash:

Per reindirizzare lo standard output del comando, utilizzeremo "1" con un operatore di reindirizzamento maggiore del segno ">":

$ls 1> stdout.TXT

Il comando precedente creerà un file e posizionerà l'output standard del comando "ls" nel file "stdout.txt" file.

Per leggere lo “stdout.txt", utilizzare:

$cat stdout.TXT

Possiamo reindirizzare anche l'errore standard su un file utilizzando il comando:

$cat miofile.txt 2> stderr.TXT

Per visualizzare lo “stderr.txt", utilizzare:

$cat stderr.TXT

Assicurati che l'uso di "2" sia maggiore del segno ">". Dal momento che non c'è "miofile.txt" nella directory, il comando "cat" darà un errore che verrà aggiunto nel file "stderr.txt" file.

Questi output standard possono essere reindirizzati anche con un singolo comando, utilizzare:

$ls 1> stdout.txt 2> stderr.TXT

L'output del comando "ls" sarà scritto nel "stdout.TXT", ma il "stderr.TXT” rimarrà vuoto perché non ci sarebbero errori.

Ora facciamo per “stderr.TXT":

$cat miofile.txt 1> stdout.txt 2> stderr.TXT

Utilizzare il comando indicato di seguito per leggere "stderr.TXT."

$cat stderr.TXT

E, naturalmente, "stdout.txt" sarà vuoto.

Conclusione:

Il comando Linux all'esecuzione fornisce un output standard che potrebbe essere un output di successo o un output di errore. In genere, questi output non possono essere reindirizzati utilizzando operatori di reindirizzamento; dobbiamo usare ID numerici specifici con il segno ">". In questa guida, abbiamo imparato come utilizzare questi tasti numerici per reindirizzare l'output standard a un file con esempi.

Le 5 migliori carte di acquisizione del gioco
Abbiamo tutti visto e amato i giochi in streaming su YouTube. PewDiePie, Jakesepticye e Markiplier sono solo alcuni dei migliori giocatori che hanno g...
Come sviluppare un gioco su Linux
Un decennio fa, non molti utenti Linux avrebbero previsto che il loro sistema operativo preferito un giorno sarebbe diventato una piattaforma di gioco...
Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...