RSH(1N) COMMAND REFERENCE RSH(1N) NAME rsh - remote shell SYNOPSIS rsh host [ -l username ] [ -n ] command DESCRIPTION Use the command rsh to connect to the specified host, and execute a specified command; rsh copies its standard input to the remote command, copies the standard output of the remote command to its standard output, and copies 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 terminates. The remote username used is the same as your local username, unless you specify a different remote name with the -l option. This remote name must be equivalent (in the sense of rlogin(1N)) to the originating account; no provision is made for specifying a password with a command. If you omit command, then instead of executing a single command, you will be logged in on the remote host using rlogin(1N). Shell metacharacters which are not quoted are interpreted on the local machine, while quoted metacharacters are interpreted on the remote machine. Host names are given in the file /etc/hosts. Each host has one standard name (the first name given in the file), which is rather long and specific, and optionally includes one or more nicknames. The host names for local machines are also commands in the directory /usr/hosts; if you put this directory in your search path then the rsh command can be omitted. OPTIONS -lusername Specify a different remote username. -n Redirect the input of rsh to /dev/null so that rsh will not block on reads from the terminal. See CAVEATS. EXAMPLES The following command appends the remote file file0 on host ecs to file1 on the local machine: rsh ecs cat file0 >> file1 Printed 5/12/88 1
RSH(1N) COMMAND REFERENCE RSH(1N) However, this next command appends file0 on ecs to file1 which is also on ecs: rsh ecs cat file0 ">>" file1 Remember that characters that are special to the shell (like >, <, ?, [, ], *, |, etc.) must be quoted to be passed to the shell running on the remote system. Suppose the name of a host on which you wish to execute commands is ecs. Then if you link a host name to rsh as in the following: ln -s /bin/rsh /usr/hosts/ecs and add /usr/hosts to your path search path, then you can execute a remote command without specifying rsh, for example: ecs cat file0 >> file1 FILES /etc/hosts contains host names (standard and nicknames) /usr/hosts/* contains host names for local machines RETURN VALUE [USAGE] Incorrect command line syntax. Execution terminated. [NP_ERR] An error occurred that was not a system error. Execution terminated. [P_WARN] A system error occurred. Execution continues. See intro(2) for more information on system errors. [P_ERR] A system error occurred. Execution terminated. See intro(2) for more information on system errors. CAVEATS If you are using csh(1CSH) and put an rsh(1N) 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 vi(1)); use rlogin(1N). Printed 5/12/88 2
RSH(1N) COMMAND REFERENCE RSH(1N) Stop signals stop the local rsh process only. SEE ALSO rlogin(1N), hosts.equiv(5N), and .rhosts(5N). Printed 5/12/88 3
%%index%% na:240,70; sy:310,243; de:553,1867; op:2420,496; ex:2916,260;3488,777; fi:4265,240; rv:4505,672; ca:5177,580;6069,82; se:6151,234; %%index%%000000000164