No subject


Tue Feb 22 18:54:42 UTC 2011


REDIRECTION
       Before  a  command  is  executed, its input and output may be
redirected using a special notation interpreted by the shell.
Redirection may also be used to open and close files for the current
       shell execution environment.  The following redirection
operators may precede or appear anywhere within a simple command or
may follow a command.  Redirections are processed in the  order  they
       appear, from left to right.

       Each  redirection  that may be preceded by a file descriptor
number may instead be preceded by a word of the form {varname}.  In
this case, for each redirection operator except >&- and <&-, the
       shell will allocate a file descriptor greater than 10 and
assign it to varname.  If >&- or <&- is preceded by {varname}, the
value of varname defines the file descriptor to close.

       In the following descriptions, if the file descriptor number is
omitted, and the first character of the redirection operator is <, the
redirection refers to the standard input (file  descriptor
       0).  If the first character of the redirection operator is >,
the redirection refers to the standard output (file descriptor 1).

       The  word  following the redirection operator in the following
descriptions, unless otherwise noted, is subjected to brace expansion,
tilde expansion, parameter expansion, command substitution,
       arithmetic expansion, quote removal, pathname expansion, and
word splitting.  If it expands to more than one word, bash reports an
error.

       Note that the order of redirections is significant.  For
example, the command

              ls > dirlist 2>&1

       directs both standard output and standard error to the file
dirlist, while the command

              ls 2>&1 > dirlist

       directs only the standard output to file dirlist, because the
standard error was duplicated from the standard output before the
standard output was redirected to dirlist.

       Bash handles several filenames specially when they are used in
redirections, as described in the following table:

              /dev/fd/fd
                     If fd is a valid integer, file descriptor fd is duplic=
ated.
              /dev/stdin
                     File descriptor 0 is duplicated.
              /dev/stdout
                     File descriptor 1 is duplicated.
              /dev/stderr
                     File descriptor 2 is duplicated.
              /dev/tcp/host/port
                     If host is a valid hostname or Internet address,
and port is an integer port number or service name, bash attempts to
open a TCP connection to the corresponding socket.
              /dev/udp/host/port
                     If host is a valid hostname or Internet address,
and port is an integer port number or service name, bash attempts to
open a UDP connection to the corresponding socket.

       A failure to open or create a file causes the redirection to fail.

       Redirections using file descriptors greater than 9 should be
used with care, as they may conflict with file descriptors the shell
uses internally.

   Redirecting Input
       Redirection of input causes the file whose name results from
the expansion of word to be opened for reading on file descriptor n,
or the standard input (file descriptor 0) if n  is  not  speci=E2=80=90
       fied.

       The general format for redirecting input is:

              [n]<word

   Redirecting Output
       Redirection  of output causes the file whose name results from
the expansion of word to be opened for writing on file descriptor n,
or the standard output (file descriptor 1) if n is not speci=E2=80=90
       fied.  If the file does not exist it is created; if it does
exist it is truncated to zero size.

       The general format for redirecting output is:

              [n]>word

       If the redirection operator is >, and the noclobber option to
the set builtin has been enabled, the redirection will fail if the
file whose name results from the expansion of word exists and is
       a regular file.  If the redirection operator is >|, or the
redirection operator is > and the noclobber option to the set builtin
command is not enabled, the redirection is attempted even if the
       file named by word exists.
   Appending Redirected Output
       Redirection of output in this fashion causes the file whose
name results from the expansion of word to be opened for appending on
file descriptor n, or the standard output (file  descriptor  1)
       if n is not specified.  If the file does not exist it is created.

       The general format for appending output is:

              [n]>>word

   Redirecting Standard Output and Standard Error
       This construct allows both the standard output (file descriptor
1) and the standard error output (file descriptor 2) to be redirected
to the file whose name is the expansion of word.

       There are two formats for redirecting standard output and standard e=
rror:

              &>word
       and
              >&word

       Of the two forms, the first is preferred.  This is semantically
equivalent to

              >word 2>&1

   Appending Standard Output and Standard Error
       This construct allows both the standard output (file descriptor
1) and the standard error output (file descriptor 2) to be appended to
the file whose name is the expansion of word.

       The format for appending standard output and standard error is:

              &>>word

       This is semantically equivalent to

              >>word 2>&1

...



More information about the Nottingham mailing list