SSHExec (Apache Ant API)
Date: 2016-04-09

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
    Modifier and Type | Method and 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` | `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` | `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` | `setResultproperty(java.lang.String property)` If set, the exitcode of the command will be stored in the given property.
    `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

      `getFailonerror, getHost, getPort, getServerAliveCountMax, getServerAliveIntervalSeconds, getUserInfo, getVerbose, init, openSession, setFailonerror, setHost, setKeyfile, setKnownhosts, setPassphrase, setPassword, setPort, setServerAliveCountMax, setServerAliveIntervalSeconds, 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.
      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
      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
      Since:
        Ant 1.9.4

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