Caution: This version of this document is no longer maintained. For the latest documentation, see


Remote shell


rsh [-dn] [-l username] host [command]

Runs on:



Using setsockopt(), turn on socket debugging on the TCP sockets used for communication with the remote host.
An Internet address specified in dot notation, or a hostname.
-l username
Use the specified remote name (the default remote name is the same as the local username). Authorization is determined as in rlogin.
Redirect input from the special device /dev/null (see the “Caveats” section below).
The command to execute on remote host.


The rsh utility executes command on host. The standard input of rsh is copied to the remote command, and the standard output and standard error of the remote command are copied to rsh's standard output and standard error. Interrupt, quit, and terminate signals are propagated to the remote command; rsh normally terminates when the remote command does.

If you don't specify a command, you're logged in on the remote host via rlogin.

Shell metacharacters that aren't quoted are interpreted on the local machine; quoted metacharacters are interpreted on the remote machine. For example, the command:

rsh otherhost cat remotefile >> localfile

appends remotefile to localfile, while:

rsh otherhost cat remotefile ">>" other_remotefile

appends remotefile to other_remotefile.

Note: This utility needs to have the setuid (“set user ID”) bit set in its permissions. If you use mkefs, mketfs, or mkifs on a Windows host to include this utility in an image, use the perms attribute to specify its permissions explicitly, and the uid and gid attributes to set the ownership correctly.


Hostname database.

The rsh utility requires the shared library.


You can't use rsh to run an interactive command such as vi; use rlogin instead.

See also:

esh, fesh, /etc/hosts.equiv, ksh, rcp, ~/.rhosts, rlogin, rlogind, rshd, sh, uesh