NAME
rsh —
remote shell
SYNOPSIS
rsh |
[-46dn]
[-l
username]
[-p port]
host [command] |
rsh |
[-46dn]
[-p port]
username@host [command] |
DESCRIPTION
rsh executes
command on
host.
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
terminate signals are propagated to the remote command;
rsh
normally terminates when the remote command does. The options are as follows:
-
-
- -4
- Use IPv4 addresses only.
-
-
- -6
- Use IPv6 addresses only.
-
-
- -d
- The -d option turns on socket debugging
(using setsockopt(2)) on
the TCP sockets used for communication with the remote host.
-
-
- -l
username
- By default, the remote username is the same as the local
username. The -l option or the
username@host format allow the remote name to be
specified.
-
-
- -n
- The -n option redirects input from the
special device /dev/null (see the
BUGS section of this manual page).
-
-
- -p
port
- Uses the given port instead of the one
assigned to the service “shell”. May be given either as
symbolic name or as number. If no command is given, note that
rlogin(1) is started, which
may need a different daemon
(rlogind(8) instead of
rshd(8)) running on the
server; you want to pass the
rshd(8) port number in that
case.
If no
command is specified, you will be logged in on the
remote host using
rlogin(1).
Shell metacharacters which are not quoted are interpreted on local machine,
while quoted metacharacters are interpreted on the remote machine. For
example, the command
rsh otherhost cat remotefile >>
localfile
appends the remote file
remotefile to the local file
localfile, while
rsh otherhost cat remotefile
">>" other_remotefile
appends
remotefile to
other_remotefile.
FILES
- /etc/hosts
-
SEE ALSO
rcmd(1),
rlogin(1),
rcmd(3),
hosts.equiv(5),
rhosts(5),
environ(7)
HISTORY
The
rsh command appeared in
4.2BSD.
BUGS
If you are using
csh(1) and put 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. If no input is desired you should redirect the input of
rsh to
/dev/null using the
-n option.
You cannot run an interactive command (like
rogue(6) or
vi(1)) using
rsh;
use
rlogin(1) instead.
Stop signals stop the local
rsh process only; this is arguably
wrong, but currently hard to fix for reasons too complicated to explain
here.