2>&1
il reindirizzamento nella shell Bourne prende l'output inviato a un descrittore di file 2 (per impostazione predefinita, errore standard) e lo invia invece al descrittore di file 1 (per impostazione predefinita un output standard).Cosa fa il reindirizzamento "2 <& 1" nella shell Bourne?
Ma cosa fa il reindirizzamento 2<&1
?
Invia stderr a stdin?
La mia teoria è che stava mandando stdin allo stderr (ad esempio stesso di 1>&2
), ma sperimentalmente, che non è il caso:
$ perl -e 'print "OUT\n"; print STDERR "ERR\n"; \
while (<>) { print "IN WAS $_\n";}' \
> out3 2<&1
df
$ cat out3
ERR
OUT
IN WAS df
Nota che standard output e l'errore standard sia andato a depositare out3 dove stdout è stato reindirizzato.
Come nota - questo è stato un (presunto) bug di un co lavoratore inserito quando ha erroneamente usato '<' invece di '>'. Sono solo in trincea per capire esattamente cosa sta facendo Shell. Finora, SEMBRA come se fosse uguale a '2> & 1' – DVK
' bash --version'? –
@ user112358132134 - 'GNU bash, versione 2.03.0 (1) -release (sparc-sun-solaris2.5.1)' – DVK