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:
  `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

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`
`setCommand(String command)`
Sets the command to execute on the remote host.
`void`
`setCommandResource(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(File output)`
If used, stores the erroutput of the command to the given file.
`void`
`setErrorproperty(String property)`
If set, the erroroutput of the command will be stored in the given property.
`void`
`setInput(File input)`
If used, the content of the file is piped to the remote command
`void`
`setInputProperty(String inputProperty)`
If used, the content of the property is piped to the remote command
`void`
`setInputString(String inputString)`
If used, the string is piped to the remote command.
`void`
`setOutput(File output)`
If used, stores the output of the command to the given file.
`void`
`setOutputproperty(String property)`
If set, the output of the command will be stored in the given property.
`void`
`setResultproperty(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

`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 Details

### SSHExec

public SSHExec()
Constructor for SSHExecTask.

## Method Details

### setCommand

public void setCommand(String command)
Sets the command to execute on the remote host.

Parameters:
  `command` - The new command value

### setCommandResource

public void setCommandResource(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(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(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(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(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(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(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(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(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

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