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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.