13.2.4 Redirezione
Redirezione basilare da ricordare (dove [n] � un
numero opzionale per specificare il descrittore del file):
[n]> file Redirige l'output standard (o n) a file.
[n]>> file Aggiunge l'output standard (o n) a file.
[n]< file Redirige l'input standard (o n) da file.
[n1]>&n2 Redirige l'output standard (o n1) a n2.
> file >&2 Redirige l'output standard e di errore a file.
| comando Con una pipe invia l'output standard (o n) a comando.
>&2 | comando Coun una pipe invia l'output standard e di errore a comando.
2>&1 | command Pipe stderr and stdout to command.
Dove,
-
stdin: standard input (descrittore di file = 0)
-
stdout: standard output (descrittore di file = 1)
-
stderr: standard error (descrittore di file = 2)
La shell vi permette di aprire i file mediante exec
con un
descrittore di file arbitrario.
$ echo Hello >foo
$ exec 3<foo 4>bar # apre i file
$ cat <&3 >&4 # redirige stdin a 3, stdout a 4
$ exec 3<&- 4>&- # chiude i file
$ cat bar
Hello
Qui n<&- e n>&-
significano chiudere il descrittore del file n.