Skip to main content

Execute Script

Octory PRO
Element type: Dictionary

This actions takes a script path to execute and execute it, passing it arguments if specified. This script will be executed with root rights thanks to the Helper.

Keys

NameTypePossible valuesRequired
TypeStringExecuteScriptRequired
ScriptPathString-Required
ArgumentsArray (String)-
VariableString-
ConditionDictionary (Condition)-

Detail

Type Required

Type: String
Explanation: The type of the action has to be ExecuteScript.

ScriptPath Required

Type: String
Explanation: The path to the script to execute

Arguments

Type: Array(String)
Explanation: Specify here all the arguments needed for the command Note that you can write several arguments in one string. It’s up to your preference. When writing several arguments in one string, you have to respect the classic quoting when specifying paths with spaces. Don’t hesitate to use another string in the array for large arguments

Variable

Type: String
Explanation: When specified, the output of the command will be stored inside a variable with the given name.

Condition

Type: Dictionary (Condition)
Explanation: Allows launch the action only based on a boolean expression.

Example

The following example will execute a script which takes an argument and rename the computer based on this argument. The variable UserChoiceComputerName can be asked to the user with a Text input component.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... -->
<key>ActionSets</key>
<array>
<dict>
<key>Type</key>
<string>Parallel</string>
<key>Triggers</key>
<array>
<string>NextButtonClick</string>
</array>
<key>Actions</key>
<array>
<dict>
<key>Type</key>
<string>ExecuteScript</string>
<key>ScriptPath</key>
<string>${ScriptsFolder}/changeComputerName.sh</string>
<key>Arguments</key>
<array>
<string>${UserChoiceComputerName}</string>
</array>
</dict>
</array>
</dict>
</array>
<!-- ... -->
</dict>
</plist>