arshell(1)
arshell - remote shell for arrays
As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.
NAME arshell - remote shell for arrays SYNOPSIS arshell [options...] [username@]host command DESCRIPTION arshell is an array-cognizant variation of the standard rsh(1C) command: it connects to the specified host and executes the specified command. For the purposes of parsing the arshell command line, host (optionally prepended with username) is considered to be the first argument that does not being with the character "-", and command is considered to be the second such argument, as well as all of the arguments following it. arshell 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; arshell normally terminates when the remote command does. If the -n option is specified, the remote command's standard input is taken from /dev/null instead of arshell's standard input; this can be useful if you intend to put arshell in the background under certain shells without redirecting its input away from the terminal, since doing so may cause arshell to block even if the remote program does not try to read from its standard input. The remote username used is the same as your local username, unless you specify a different remote name with the -l option or by using the username@host format. This remote name must be equivalent (in the sense of rlogin(1C)) to the originating account; no provision is made for specifying a password with a command. If you omit command, you will be logged in on the remote host using rlogin(1C) rather than arshell itself. In this case, arguments that are unique to arshell will be discarded while any additional arguments known to rlogin (for example, -L) will be passed along. The connection to the remote machine is established using the array services daemons on both the local and remote machines. This allows additional information, such as your array session handle on the local machine, to be passed along to the remote machine. If array services are not available on either the local or remote machine, then an attempt will be made to establish a connection using the normal rsh(1C) command. Thus, it is possible to use arshell as a replacement for rsh. (However, this should be done by placing arshell earlier in the path than rsh, not by replacing rsh since arshell may need to invoke rsh). Shell metacharacters that are not quoted are interpreted on the local machine, while quoted metacharacters are interpreted on the remote machine. Thus the command arshell otherhost cat remotefile >> localfile appends the remote file remotefile to the local file localfile, while arshell otherhost cat remotefile ">>" otherremotefile appends remotefile to otherremotefile. COMMAND LINE OPTIONS These command line options are only relevant when both the local and remote systems are running array services and will be discarded if the command ends up being referred to rlogin or rsh. In addition to these command line options, the standard command line options for rsh and rlogin are also accepted. -D or -direct Indicates that the request should be sent directly to the remote machine, rather than forwarded to that machine by the local array services daemon. This will fail on systems that use array services authentication unless the -Kl and -Kr options are also specified. -D is the default behavior under normal circumstances (but see the description of the ARRAYD_FORWARD variable, below). -F or -forward Indicates that the request should be forwarded to the remote machine via the local array services daemon, rather than sent directly to it. -F will become the default behavior if the value of the ARRAYD_FORWARD environment variable begins with the letter "Y" (as in "yes"; it may be in either upper or lower case). -Kl key or -localkey key Use key for the local authentication key when communicating directly with the remote array services daemon. key is an unsigned 64-bit value. The default local key is obtained from the environment variable ARRAYD_LOCALKEY; if that does not exist, no key is used. The actual role played by key depends on the authentication method used by array services in a particular configuration. -Kr key or -remotekey key Use key for the remote authentication key when communicating directly with the remote array services daemon. key is an unsigned 64-bit value. The default remote key is obtained from the environment variable ARRAYD_REMOTEKEY; if that does not exist, no key is used. The actual role played by key depends on the authentication method used by array services in a particular configuration. -l username Specifies that the command should be executing using the account of username on the remote machine. username must be equivalent (in the sense of rlogin(1C)) to your local userid. -N Do not revert to /usr/bsd/rsh if an array services daemon is not found on the local and/or remote machine. In this case, the command will simply fail. -O Force usage of /usr/bsd/rsh. Useful if arshell has been placed in the path before /usr/bsd with the name "rsh". Warning: an infinite loop will occur if /usr/bsd/rsh is replaced by arshell! -p port or -port port Specifies the port address of the array services daemon on the remote machine. Defaults to the value of the "ARRAYD_PORT" environment variable if present, or the standard port number of the "sgi-arrayd" service otherwise. -s Indicates that the rest of the command line should be treated as the command to be executed on the remote machine. This can be useful if the command happens to look like an arshell option. NOTES The file /usr/sbin/arshell is actually a wrapper script that exec's the binary /usr/lib/array/bin/arshell. This allows the system administrator to set standard options (e.g. -F) or override the actual binary that is used. SEE ALSO array(1), rsh(1C). BUGS If you are using csh(1) and put arshell in the background without redirecting its input away from the terminal, it blocks even if no reads are posted by the remote command. If no input is desired, you should use the -n option, which redirects the input of arshell to /dev/null. You cannot run an interactive command (like vi(1)); use rlogin(1C). Job control signals stop the local arshell process only; this is arguably wrong, but currently hard to fix.