Package 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
`SSHExec()` Constructor for SSHExecTask.

### Method Summary

All Methods Instance Methods Concrete 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` `setBindSensitive​(java.lang.String bindSensitive)` Sets the placeholders with sensitive data to replace in command, Prevents from sensitive data appearance in logs
`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` `setErrAppend​(boolean appenderr)` Determines if the output is appended to the file given in `setErrorOutput`.
`void` `setErrorOutput​(java.io.File output)` If used, stores the erroutput of the command to the given file.
`void` `setErrorproperty​(java.lang.String property)` If set, the erroroutput of the command will be stored in the given property.
`void` `setHideSensitive​(boolean hideSensitive)` If hideSensitive is `true`, command will be checked for placeholders to replace, If hideSensitive is `false`, command will be executed as is, Prevents from sensitive data appearance in logs
`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` `setPlaceholderBrackets​(java.lang.String placeholderBrackets)` Sets delimiter to find placeholders and replace them
`void` `setResultproperty​(java.lang.String property)` If set, the exitcode of the command will be stored in the given property.
`void` `setSensitiveDelimiter​(java.lang.String sensitiveDelimiter)` Sets the delimiter of sensitive data key values pairs in bindSensitive
`void` `setSuppressSystemErr​(boolean suppressSystemErr)` If suppressSystemErr is `true`, output will not be sent to System.err, if suppressSystemErr is `false`, normal behavior
`void` `setSuppressSystemOut​(boolean suppressSystemOut)` If suppressSystemOut is `true`, output will not be sent to System.out, if suppressSystemOut is `false`, normal behavior
`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.
`void` `setUseSystemIn​(boolean useSystemIn)` If set, input will be taken from System.in

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

`addConfiguredAdditionalConfig, getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getSshConfig, getUserInfo, getVerbose, init, loadSshConfig, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, setSshConfig, 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.

#### setErrorOutput

    public void setErrorOutput​(java.io.File output)

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

Parameters:
  `output` - The file to write to.
Since:
  Apache Ant 1.9.4

#### 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.

#### setErrAppend

    public void setErrAppend​(boolean appenderr)

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

Parameters:
  `appenderr` - True to append to an existing file, false to overwrite.
Since:
  Apache Ant 1.9.4

#### 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.

#### setErrorproperty

    public void setErrorproperty​(java.lang.String property)

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

Parameters:
  `property` - The name of the property in which the command erroroutput will be stored.
Since:
  Apache Ant 1.9.4

#### setResultproperty

    public void setResultproperty​(java.lang.String property)

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

Parameters:
  `property` - The name of the property in which the exitcode will be stored.
Since:
  Apache Ant 1.9.4

#### setUsePty

    public void setUsePty​(boolean b)

Whether a pseudo-tty should be allocated.

Parameters:
  `b` - boolean
Since:
  Apache Ant 1.8.3

#### setUseSystemIn

    public void setUseSystemIn​(boolean useSystemIn)

If set, input will be taken from System.in

Parameters:
  `useSystemIn` - True to use System.in as InputStream, false otherwise
Since:
  Apache Ant 1.9.4

#### setSuppressSystemOut

    public void setSuppressSystemOut​(boolean suppressSystemOut)

If suppressSystemOut is `true`, output will not be sent to System.out, if suppressSystemOut is `false`, normal behavior

Parameters:
  `suppressSystemOut` - boolean
Since:
  Ant 1.9.0

#### setSuppressSystemErr

    public void setSuppressSystemErr​(boolean suppressSystemErr)

If suppressSystemErr is `true`, output will not be sent to System.err, if suppressSystemErr is `false`, normal behavior

Parameters:
  `suppressSystemErr` - boolean
Since:
  Ant 1.9.4

#### setHideSensitive

    public void setHideSensitive​(boolean hideSensitive)

If hideSensitive is `true`, command will be checked for placeholders to replace, If hideSensitive is `false`, command will be executed as is, Prevents from sensitive data appearance in logs

Parameters:
  `hideSensitive` - boolean

#### setBindSensitive

    public void setBindSensitive​(java.lang.String bindSensitive)

Sets the placeholders with sensitive data to replace in command, Prevents from sensitive data appearance in logs

Parameters:
  `bindSensitive` - String

#### setSensitiveDelimiter

    public void setSensitiveDelimiter​(java.lang.String sensitiveDelimiter)

Sets the delimiter of sensitive data key values pairs in bindSensitive

Parameters:
  `sensitiveDelimiter` - String

#### setPlaceholderBrackets

    public void setPlaceholderBrackets​(java.lang.String placeholderBrackets)

Sets delimiter to find placeholders and replace them

Parameters:
  `placeholderBrackets` - String

#### 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.