Specifies that output is returned as it becomes available from each
target, instead of waiting for the \fIcommand_list\fR to be completed on
a target before returning output.
.RE
.RS+3
\fB-S | --syntax csh | ksh
\fR
.RE
.RS+9
Specifies the shell syntax to be used on the remote target. If not
specified, the \fBksh\fR syntax is used.
.RE
.RS+3
\fB-t | --timeout \fItimeout\fR
\fR
.RE
.RS+9
Specifies the time, in seconds, to wait for output from any currently
executing remote targets. If no output is available from any target in
the specified \fItimeout\fR, \fBxdsh\fR displays an error and
terminates execution for the remote targets that failed to respond. If
\fItimeout\fR is not specified, \fBxdsh\fR waits indefinitely to
continue processing output from all remote targets. When specified with
the \fB-i\fR flag, the user is prompted for an additional timeout
interval to wait for output.
.RE
.RS+3
\fB-T | --trace
\fR
.RE
.RS+9
Enables trace mode. The \fBxdsh\fR command prints diagnostic
messages to standard output during execution to each target.
.RE
.RS+3
\fB-v | --verify
\fR
.RE
.RS+9
Verifies each target before executing any remote commands on the
target. If a target is not responding, execution of remote commands for
the target is canceled. When specified with the \fB-i\fR flag,
the user is prompted to retry the verification request.
.RE
.RS+3
\fB-V | --version
\fR
.RE
.RS+9
Displays \fBxdsh\fR command version information.
.RE
.RS+3
\fB-X \fIenv_list\fR
\fR
.RE
.RS+9
Ignore \fBxdsh\fR environment variables. This option can take an argument which is a comma separated list of environment variable names that should \fBNOT\fR be ignored. If there is no argument to this option, or the argument is an empty string, all \fBxdsh\fR environment variables will be ignored.
.RE
.RS+3
\fB-z | --exit-status
\fR
.RE
.RS+9
Displays the exit status for the last remotely executed non-asynchronous
command on each target. If the command issued on the remote node is run
in the background, the exit status is not displayed.
.RE
.PP
.PP
\fBExit Status
\fR
.PP
Exit values for each remote shell execution are displayed in messages from
the \fBxdsh\fR command, if the remote shell exit values are non-zero.
A non-zero return code from a remote shell indicates that an error was
encountered in the remote shell. This return code is unrelated to the
exit code of the remotely issued command. If a remote shell encounters
an error, execution of the remote command on that target is bypassed.
.PP
The \fBxdsh\fR command exit code is \fB0\fR if the command executed
without errors and all remote shell commands finished with exit codes of
\fB0\fR. If internal \fBxdsh\fR errors occur or the remote shell
commands do not complete successfully, the \fBxdsh\fR command exit value is
greater than \fB0\fR. The exit value is increased by \fB1\fR for
each successive instance of an unsuccessful remote command execution.
If the remotely issued command is run in the background, the exit code of the
remotely issued command is \fB0\fR.
.PP
.PP
\fBEnvironment Variables
\fR
.RS+3
\fBDSH_CONTEXT
\fR
.RE
.RS+9
Specifies the default context to use when resolving targets. This
variable is overridden by the \fB-C\fR flag.
.RE
.RS+3
\fBDSH_ENVIRONMENT
\fR
.RE
.RS+9
Specifies a file that contains environment variable definitions to export
to the target before executing the remote command. This variable is
overridden by the \fB-E\fR flag.
.RE
.RS+3
\fBDSH_FANOUT
\fR
.RE
.RS+9
Specifies the fanout value. This variable is overridden by the
\fB-f\fR flag.
.RE
.RS+3
\fBDSH_NODE_OPTS
\fR
.RE
.RS+9
Specifies the options to use for the remote shell command with node
targets only. This variable is overridden by the \fB-o\fR
flag.
.RE
.RS+3
\fBDSH_NODE_RCP
\fR
.RE
.RS+9
Specifies the full path of the remote copy command to use to copy local
scripts and local environment configuration files to node targets.
.RE
.RS+3
\fBDSH_NODE_RSH
\fR
.RE
.RS+9
Specifies the full path of the remote shell to use for remote command
execution on node targets. This variable is overridden by the
\fB-r\fR flag.
.RE
.RS+3
\fBDSH_NODEGROUP_PATH
\fR
.RE
.RS+9
Specifies a colon-separated list of directories that contain node group
files for the \fBDSH\fR context. When the \fB-a\fR flag is
specified in the \fBDSH\fR context, a list of unique node names is
collected from all node group files in the path.
.RE
.RS+3
\fBDSH_PATH
\fR
.RE
.RS+9
Sets the command path to use on the targets. If \fBDSH_PATH\fR
is not set, the default path defined in the profile of the remote
\fIuser_ID\fR is used.
.RE
.RS+3
\fBDSH_SYNTAX
\fR
.RE
.RS+9
Specifies the shell syntax to use on remote targets; \fBksh\fR or
\fBcsh\fR. If not specified, the \fBksh\fR syntax is
assumed. This variable is overridden by the \fB-S\fR
flag.
.RE
.RS+3
\fBDSH_TIMEOUT
\fR
.RE
.RS+9
Specifies the time, in seconds, to wait for output from each remote
target. This variable is overridden by the \fB-t\fR
flag.
.RE
.PP
.PP
\fBSecurity
\fR
.PP
The \fBxdsh\fR command has no security configuration requirements.
All remote command security requirements - configuration,
authentication, and authorization - are imposed by the underlying remote
command configured for \fBxdsh\fR. The command assumes that
authentication and authorization is configured between the local host and the
remote targets. Interactive password prompting is not supported;
an error is displayed and execution is bypassed for a remote target if
password prompting occurs, or if either authorization or authentication to the
remote target fails. Security configurations as they pertain to the
remote environment and remote shell command are user-defined.
.PP
.PP
\fBExamples
\fR
.PP
.RS+3
.HP3
1. To run the \fBps\fR command on node targets \fBnode1\fR and
\fBnode2\fR, enter:
.sp
.nf
xdsh node1,node2 "ps"
.fi
.sp
.HP3
2. To run the \fBps\fR command on each node target listed in the
\fBmyhosts\fR file, enter:
.sp
.HP3
3. To execute the commands contained in \fBmyfile\fR in the XCAT
\fBcontext\fR on several node targets,
with a fanout of \fB1\fR,
enter:
.sp
.nf
xdsh node1,node2 -C XCAT -f 1 -e myfile
.fi
.sp
.HP3
4. To run the ps command on node1 and ignore all the dsh environment
variable except the DSH_NODE_OPTS, enter:
.sp
.nf
xdsh node1 -X 'DSH_NODE_OPTS' ps
.fi
.sp
.RE
.PP
\fBImplementation Specifics
\fR
.PP
\fBFiles
\fR
.RS+3
\fB/opt/xcat/xdsh/Context/
\fR
.RE
.RS+9
Location of the contexts available to use with DSH Utilities.
.RE
.RS+3
\fB\fB/opt/xcat/bin/xdshbak\fR
\fR
.RE
.RS+9
Location of the command that is supplied as the back-end formatting