Come catturare l'output della shell in un file di testo?


4

In Linux posso digitare echo "hello" >& text.output e ottieni l'output di testo in un file.

Come posso ottenere questo tipo di output in Windows 8?

C'è un modo per distinguere l'errore dall'output?

La mia motivazione sta cercando di registrare l'output di tracert e indagare la differenza tra Windows 8 e Windows 7.


Cosa è 72162?
jsalonen

Quello era un errore di battitura ...
Mikhail

Risposte:


6

Allo stesso modo di Linux:

echo "Hello" >text.output

Errori solitamente stampati su stderr stream (è # 2). Puoi catturare stderr stream:

del 1.txt 2>text.output

Se il file 1.txt non esiste, text.output conterrà Could not find 1.txt.


Puoi reindirizzare stdout a stderr:

echo "Hello" 2>&1

O stderr a stdout:

echo "Hello" 1>&2

Post scriptum Non sono sicuro che il tuo comando possa funzionare su Linux. Comunque echo "hello" >& text.output genera un errore di sintassi: >& was unexpected at this time.


Funziona su Gentoo e SLES. Potrebbe non essere un POSIX molto rigido.
Mikhail


@OliverSalzburg Non lo sapevo. Grazie!
Alexey Ivanov

3

La shell di Windows ora è molto simile a BASH su Linux. Quindi puoi farlo

echo "Hello" > text.txt

Oppure, esegui il tuo programma e lascia che l'output del sistema scriva text.txt:

run_program > text.txt

Se è necessario tenere traccia dell'errore, utilizzare quanto segue:

run_program 2> error.txt

Ulteriori informazioni ed esempi possono essere trovati qui. Reindirizzamento I / O

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.