rsh - remote shell

     rsh [ -l username ] [ -n ] hostname [ command ]
     rsh hostname [ -l username ] [ -n ] [ command ]

     hostname [ -l username ] [ -n ] [ command ]

     This command  is  available  with  the  Networking  software
     installation  option.   Refer  to  Installing  SunOS 4.1 for
     information on how to install optional software.

     rsh connects to the  specified  hostname  and  executes  the
     specified  command.   rsh  copies  its standard input to the
     remote command, the standard output of the remote command to
     its  standard  output,  and the standard error of the remote
     command to its standard error.   Interrupt,  quit  and  ter-
     minate  signals  are  propagated  to the remote command; rsh
     normally terminates when the remote command does.

     If you omit command, instead of executing a single  command,
     rsh logs you in on the remote host using rlogin(1C).

     Shell metacharacters which are not quoted are interpreted on
     the  local  machine,  while quoted metacharacters are inter-
     preted on the remote machine. See EXAMPLES.

     Hostnames are given in the hosts database, which may be con-
     tained  in the /etc/hosts file, the Network Information Ser-
     vice (NIS) hosts database, the Internet  domain  name  data-
     base,  or  some combination of the three.  Each host has one
     official name (the first name in  the  database  entry)  and
     optionally  one  or  more  nicknames.  Official hostnames or
     nicknames may be given as hostname.

     If the name of the file from which rsh is executed  is  any-
     thing  other  than ``rsh,'' rsh takes this name as its host-
     name argument.  This allows you to create a symbolic link to
     rsh  in the name of a host which, when executed, will invoke
     a remote shell on that host.  The  /usr/hosts  directory  is
     provided to be populated with symbolic links in the names of
     commonly  used  hosts.   By  including  /usr/hosts  in  your
     shell's  search  path, you can run rsh by typing hostname to
     your shell.

     Each remote machine may have a file  named  /etc/hosts.equiv
     containing  a list of trusted hostnames with which it shares
     usernames.  Users with the same username on both  the  local
     and  remote  machine may rsh from the machines listed in the
     remote machine's /etc/hosts file.  Individual users may  set
     up  a similar private equivalence list with the file .rhosts
     in their home directories.  Each line in this file  contains
     two  names:  a hostname and a username separated by a SPACE.
     The entry permits the user named username who is logged into
     hostname  to  use  rsh  to  access the remote machine as the
     remote user.  If the name of the local host is not found  in
     the  /etc/hosts.equiv  file  on  the remote machine, and the
     local username and hostname are  not  found  in  the  remote
     user's  .rhosts  file, then the access is denied.  The host-
     names listed in the /etc/hosts.equiv and .rhosts files  must
     be  the  official  hostnames  listed  in the hosts database;
     nicknames may not be used in either of these files.

     rsh will not prompt for a password if access  is  denied  on
     the remote machine unless the command argument is omited.

     -l username
          Use username as the remote  username  instead  of  your
          local  username.   In  the  absence of this option, the
          remote username is the same as your local username.

     -n   Redirect the input of rsh to /dev/null.  You  sometimes
          need  this  option  to  avoid  unfortunate interactions
          between rsh and the shell which invokes it.  For  exam-
          ple,  if  you  are  running  rsh and start a rsh in the
          background without redirecting its input away from  the
          terminal,  it will block even if no reads are posted by
          the remote command.  The -n option will prevent this.

     The type of remote shell (sh, rsh, or other)  is  determined
     by  the  user's  entry in the file /etc/passwd on the remote

     The following command appends the  remote  file  lizard.file
     from   the   machine   called  lizard  to  the  file  called
     example.file on the machine called example.

          example% rsh lizard cat lizard.file >> example.file

     This example appends the file  lizard.file  on  the  machine
     called  lizard  to  the  file another.lizard.file which also
     resides on the machine called lizard.

          example%    rsh    lizard    cat    lizard.file    ">>"


     rlogin(1C), vi(1), ypcat(1), hosts(5), named(8C), rshd(8C)

     You cannot run an interactive command (such as  vi(1));  use
     rlogin if you wish to do so.

     Stop signals stop the local rsh process only; this is  argu-
     ably  wrong,  but currently hard to fix for reasons too com-
     plicated to explain here.

     The current local environment is not passed  to  the  remote

     Sometimes the -n option is needed for reasons that are  less
     than  obvious.   For  example,  the  command below puts your
     shell into a strange state.

          example% rsh somehost dd  if=/dev/nrmt0  bs=20b  |  tar
          xvpBf -

     Evidently, what happens is that the  tar  terminates  before
     the rsh.  The rsh then tries to write into the "broken pipe"
     and, instead of terminating neatly, proceeds to compete with
     your shell for its standard input.  Invoking rsh with the -n
     option avoids such incidents.

     Note: this bug occurs only when rsh is at the beginning of a
     pipeline  and is not reading standard input.  Do not use the
     -n if rsh actually needs to read standard input.  For  exam-
     ple, the following command does not produce the bug.

          example% tar cf -  .  |  rsh  sundial  dd  of=/dev/rmt0

     If you were to use the -n in a case  like  this,  rsh  would
     incorrectly read from /dev/null instead of from the pipe.

     The Network Information Service (NIS) was formerly known  as
     Sun  Yellow Pages (YP). The functionality of the two remains
     the same; only the name has changed.