rsh
executes
command
on
hostname.
Note:rsh
has been deprecated in favor of
ssh(1).
Use of
rsh
is discouraged due to the inherent insecurity of host-based authentication.
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:
-d
Enable 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 allows the remote name to be specified.
-n
Redirect input from the special device
/dev/null
(see the
section of this manual page).
If no
command
is specified, you will be logged in on the remote host using
ssh(1).
If
rsh
is not invoked with the standard program name
(rsh),
it uses this name as its
hostname
argument.
Shell meta-characters which are not quoted are interpreted on local machine,
while quoted meta-characters 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.
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.
Stop signals stop the local
rsh
process only; this is arguably wrong, but currently hard to fix for reasons
too complicated to explain here.