Executes a shell command. You can use this to quickly add a new command to Phing. However, if you want to use this regularly, you should think about writing a Task for it.
Table B.23: Attributes
Name | Type | Description | Default | Required |
---|---|---|---|---|
command | String | NOTE: This attribute is deprecated. Please use executable with nested args. The command that is to be executed. | n/a | One of the two |
executable | String | The command to execute without any command line arguments. | n/a | |
dir | String | The directory the command is to be executed in. | n/a | No |
output | String | Where to direct stdout. | n/a | No |
error | String | Where to direct stderr. | Redirected to stdout, unless
passthru is set to true. | No |
os | String | Only execute if the Appendix A, Fact Sheet property contains specified text. | n/a | No |
osfamily | String | OS family as used in the <os> condition. | n/a | No |
escape | Boolean | By default, we escape shell metacharacters before executing. Setting this to false will disable this precaution. | false | No |
passthru | Boolean | Whether to use PHP's passthru() function instead of exec(). | false | No |
logoutput | Boolean | Whether to log returned output as MSG_INFO instead of MSG_VERBOSE. | false | No |
spawn | Boolean | Whether to spawn unix programs to the background, redirecting stdout. | false | No |
returnProperty | String | Property name to set return value to from exec() call. | n/a | No |
outputProperty | String | Property name to set output value to from exec() call. | n/a | No |
checkreturn | Boolean | Whether to check the return code of the program, throws a BuildException when returncode != 0. | false | No |
level | String | Control the level at which status messages are reported. One of
error , warning ,
info , verbose ,
debug . | verbose | No |
resolveexecutable | Boolean | When this attribute is true, the name of the executable is resolved firstly against the project basedir and if that does not exist, against the execution directory if specified. On Unix systems, if you only want to allow execution of commands in the user's path, set this to false. | false | No |
searchpath | Boolean | When this attribute is true, then system path environment variables will be searched when resolving the location of the executable. | false | No |
<!-- List the contents of "/home". --> <exec command="ls -l" dir="/home" /> <!-- Start the make process in "/usr/src/php-4.0". --> <exec command="make" dir="/usr/src/php-4.0" /> <!-- List the contents of "/tmp" out to a file. --> <exec command="ls -l /tmp > foo.out" escape="false" />
arg
Table B.24: Attributes
Name | Type | Description | Default | Required |
---|---|---|---|---|
value | String | A single command-line argument; can contain space characters. To pass an empty argument, enclose two double quotes in single quotes ('""'). | n/a | One of these |
file | String | The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. | n/a | |
path | String | A string that will be treated as a path-like string as a single command-line argument; you can use ; or : as path separators and Phing will convert it to the platform's local conventions. | n/a | |
line | String | A space-delimited list of command-line arguments. | n/a | |
escape | Boolean | Force escape for this attribute. | false |
env
It is possible to specify environment variables to pass to the system command via nested
<env>
elements.
Table B.25: Attributes
Name | Type | Description | Default | Required |
---|---|---|---|---|
key | String | The name of the environment variable. | n/a | Yes |
value | String | The literal value for the environment variable. | n/a | One of these |
file | String | The value for the environment variable. Will be replaced by the absolute filename of the file by Phing. | n/a | |
path | String | The value for a PATH like environment variable. You can use ; or : as path separators and Phing will convert it to the platform's local conventions. | n/a |