rsh |
[-46dnN ] [-l
username] [-t
timeout] host [command] |
rsh
is deprecated and will be removed from
future versions of the FreeBSD base system. If
rsh
is still required, it can be installed from
ports or packages (net/bsdrcmds).
The rsh
utility executes
command on host.
The rsh
utility 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
- Turn on socket debugging (using
setsockopt(2))
on the TCP sockets used for communication with the remote host.
-l
username
- Allow the remote username to be specified. By
default, the remote username is the same as the local username.
Authorization is determined as in
rlogin(1).
-N
- Opposite to
-n
option: do not send the "end
of file" (EOF) indication for input stream to the remote host. This
option makes the rsh
utility compatible with
protocol implementations confused by receiving EOF, like some Cisco IOS
versions. Disables -n
.
-n
- Redirect input from the special device /dev/null
(see the BUGS section of this manual page).
Disables
-N
.
-t
timeout
- Allow a timeout to be specified (in seconds). If no
data is sent or received in this time,
rsh
will
exit.
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.
The rsh
command appeared in
4.2BSD.
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
ee(1) 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.