NAME
on — execute command on remote host with environment similar to local
SYNOPSIS
on
[-i
|
-n]
[-d]
host
[command
[argument] ... ]
DESCRIPTION
on
executes a command on a remote host,
using an environment similar to that of the invoking user where:
- host
specifies the name of the host on which to execute the command.
- command
specifies the command to execute on
host
If
command
is not specified,
on
starts a shell on
host.
argument ...
is a list of arguments for
command.
The user's environment variables are copied to the remote host,
and the file system containing the user's current working directory
is
NFS
mounted on the remote host (see
nfs(7)).
The command is executed on the remote host
in the user's current working directory.
Commands using relative path names
that reference file system objects
within the user's current working file system
have the same behavior as running the command on the client.
The behavior of commands using relative path names
that cross the file system boundary
or commands using absolute path names
depends on the organization of the remote host's file system.
Implicit and explicit use of environment variables
may also cause a command's behavior
to be dependent on the organization
of the remote host's file system.
For example, the
$PATH
environment variable usually contains absolute path names.
Standard input, output and error of the remote command are connected
to the appropriate file descriptors on the client.
The remote execution daemon
(rexd)
does not allow
root
to execute a remote command.
The signals
SIGINT,
SIGTERM,
and
SIGQUIT
are propagated to the remote command.
SIGTSTP
and
SIGSTOP
are ignored by the remote command.
All other signals are delivered to the
on
command.
In order to execute a remote command,
the remote host must be configured to execute
rexd
(see
rexd(1M)).
Options
on
recognizes the following options:
- -i
Interactive mode.
This option is required for commands
that must communicate with a terminal such as
vi,
ksh,
or
more.
Terminal mode changes are propagated to the
rexd
server.
The standard input for an interactive
on
command must be a tty device.
The
-i
and
-n
options are mutually exclusive.
- -d
Debug mode.
Print diagnostic messages during startup of the
on
command.
These messages are useful for detecting configuration problems if the
on
command to a specific host is failing.
- -n
No input mode.
This option causes the remote command to get end-of-file
(EOF)
when it reads from standard input,
instead of connecting the standard input of the
on
command to the standard input of the remote command.
The
-n
option is required when running commands in the background.
The
-n
and
-i
options are mutually exclusive.
DIAGNOSTICS
- on: unknown host host
The host name
host
was not found in the hosts database.
- on: cannot connect to server on host
The host
host
is down, unreachable on the network, or not running
rexd.
- on: can't find current_dir
A problem occurred trying to find the user's current working directory
(current_dir).
- on: can't locate mount point for current_dir
A problem occurred trying to determine the mount point
of the user's current working directory
(current_dir).
- on: standard input (stdin) is not a tty
The standard input (stdin) of the
on
command with the
-i
option is not a tty device.
- on server: rexd: message
Errors that occur on the server
server
are propagated back to the client.
These messages are documented in the
DIAGNOSTICS
section of
rexd(1M).
AUTHOR
on
was developed by Sun Microsystems, Inc.