org.apache.tools.ant.taskdefs.optional.ssh

## Class SSHExec

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.ssh.SSHBase
      - - org.apache.tools.ant.taskdefs.optional.ssh.SSHExec

All Implemented Interfaces:
  java.lang.Cloneable, LogListener

    public class SSHExec
    extends SSHBase

Executes a command on a remote machine via ssh.

Since:
  Ant 1.6 (created February 2, 2003)

### Field Summary

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

### Constructor Summary

Constructors
Constructor and Description
`SSHExec()` Constructor for SSHExecTask.

### Method Summary

Methods
`void` `execute()` Execute the command on the remote host.
`void` `setAppend(boolean append)` Determines if the output is appended to the file given in `setOutput`.
`void` `setCommand(java.lang.String command)` Sets the command to execute on the remote host.
`void` `setCommandResource(java.lang.String f)` Sets a commandResource from a file
`void` `setInput(java.io.File input)` If used, the content of the file is piped to the remote command
`void` `setInputProperty(java.lang.String inputProperty)` If used, the content of the property is piped to the remote command
`void` `setInputString(java.lang.String inputString)` If used, the string is piped to the remote command.
`void` `setOutput(java.io.File output)` If used, stores the output of the command to the given file.
`void` `setOutputproperty(java.lang.String property)` If set, the output of the command will be stored in the given property.
`void` `setTimeout(long timeout)` The connection can be dropped after a specified number of milliseconds.
`void` `setUsePty(boolean b)` Whether a pseudo-tty should be allocated.

### Methods inherited from class org.apache.tools.ant.taskdefs.optional.ssh.SSHBase

`getFailonerror, getHost, getPort, getUserInfo, getVerbose, init, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setTrust, setUsername, setVerbose`

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.tools.ant.taskdefs.optional.ssh.LogListener

`log`

### Constructor Detail

#### SSHExec

    public SSHExec()

Constructor for SSHExecTask.

### Method Detail

#### setCommand

    public void setCommand(java.lang.String command)

Sets the command to execute on the remote host.

Parameters:
  `command` - The new command value

#### setCommandResource

    public void setCommandResource(java.lang.String f)

Sets a commandResource from a file

Parameters:
  `f` - the value to use.
Since:
  Ant 1.7.1

#### setTimeout

    public void setTimeout(long timeout)

The connection can be dropped after a specified number of milliseconds. This is sometimes useful when a connection may be flaky. Default is 0, which means "wait forever".

Parameters:
  `timeout` - The new timeout value in seconds

#### setOutput

    public void setOutput(java.io.File output)

If used, stores the output of the command to the given file.

Parameters:
  `output` - The file to write to.

#### setInput

    public void setInput(java.io.File input)

If used, the content of the file is piped to the remote command

Parameters:
  `input` - The file which provides the input data for the remote command
Since:
  Ant 1.8.0

#### setInputProperty

    public void setInputProperty(java.lang.String inputProperty)

If used, the content of the property is piped to the remote command

Parameters:
  `inputProperty` - The property which contains the input data for the remote command.
Since:
  Ant 1.8.0

#### setInputString

    public void setInputString(java.lang.String inputString)

If used, the string is piped to the remote command.

Parameters:
  `inputString` - the input data for the remote command.
Since:
  Ant 1.8.3

#### setAppend

    public void setAppend(boolean append)

Determines if the output is appended to the file given in `setOutput`. Default is false, that is, overwrite the file.

Parameters:
  `append` - True to append to an existing file, false to overwrite.

#### setOutputproperty

    public void setOutputproperty(java.lang.String property)

If set, the output of the command will be stored in the given property.

Parameters:
  `property` - The name of the property in which the command output will be stored.

#### setUsePty

    public void setUsePty(boolean b)

Whether a pseudo-tty should be allocated.

Since:
  Apache Ant 1.8.3

#### execute

    public void execute()
                 throws BuildException

Execute the command on the remote host.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - Most likely a network error or bad parameter.