FD2(1)                      General Commands Manual                     FD2(1)

NAME
      fd2 - redirect from/to file descriptor 2

SYNOPSIS
      fd2 [-e] [-f file] [--] command [arg ...]

DESCRIPTION
      Since the Version 6 (V6) UNIX shell provides no way to redirect the
      diagnostic output, fd2 makes this possible by executing the specified
      command with the given arguments and redirecting file descriptor 2
      (standard error) to file descriptor 1 (standard output) by default.

      The options are as follows:

      -e     Causes all conventional output from command to be redirected to
             the standard error as diagnostic output.

      -f file
             Causes all diagnostic output from command to be redirected to
             file, which is created if it does not exist.  If it already
             exists, all diagnostic output is appended to the end of file.

      --     Causes fd2 to stop further option processing, forcing it to
             treat all following arguments as command [arg ...] .

EXIT STATUS
      If fd2 detects an error, it prints an appropriate diagnostic and exits
      with a non-zero status.  Otherwise, the exit status is that of the
      executed command.

ENVIRONMENT
      EXECSHELL
             If set to a non-empty string, the value of this variable is
             taken as the path name of the shell which is invoked to execute
             the specified command when it does not begin with the proper
             magic number or a `#!shell' sequence.

      PATH   If set to a non-empty string, the value of this variable is
             taken as the sequence of directories which is used to search for
             the specified command.

EXAMPLES
      The examples below which refer to `/tmp/$$' assume that this directory
      exists and is writable by the user.  The following command line:

            fd2 -e echo progname: Error message

      causes all conventional output from echo to be redirected to the
      standard error as diagnostic output.  The following command line:

            fd2 make foo >/tmp/$$/foo.outerr

      causes all conventional and diagnostic output from make to be
      redirected to the file `/tmp/$$/foo.outerr', which is first created by
      the shell.  In contrast:

            fd2 -f /tmp/$$/foo.err make foo >/tmp/$$/foo.out

      causes all conventional output to be redirected to the file
      `/tmp/$$/foo.out', which is created by the shell.  All diagnostic
      output is redirected to the file `/tmp/$$/foo.err', which is created by
      fd2 if it does not already exist.

SEE ALSO
      etsh(1), tsh(1)

      Etsh home page: https://etsh.nl/

AUTHOR
      Jeffrey Allen Neitzel <[email protected]> wrote this implementation of the
      fd2 command and maintains it as fd2(1).

LICENSE
      See either the LICENSE file which is distributed with etsh or
      https://etsh.nl/license/ for full details.

etsh-5.4.0                      March 28, 2019                          FD2(1)