46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
---
|
|
layout: "docs"
|
|
page_title: "Local Shell Provisioner"
|
|
description: |-
|
|
The shell Packer provisioner provisions machines built by Packer using shell scripts. Shell provisioning is the easiest way to get software installed and configured on a machine.
|
|
---
|
|
|
|
# Local Shell Provisioner
|
|
|
|
Type: `shell-local`
|
|
|
|
The local shell provisioner executes a local shell script on the machine
|
|
running Packer. The [remote shell](/docs/provisioners/shell.html)
|
|
provisioner executes shell scripts on a remote machine.
|
|
|
|
## Basic Example
|
|
|
|
The example below is fully functional.
|
|
|
|
```javascript
|
|
{
|
|
"type": "shell-local",
|
|
"command": "echo foo"
|
|
}
|
|
```
|
|
|
|
## Configuration Reference
|
|
|
|
The reference of available configuration options is listed below. The only
|
|
required element is "command".
|
|
|
|
Required:
|
|
|
|
* `command` (string) - The command to execute. This will be executed
|
|
within the context of a shell as specified by `execute_command`.
|
|
|
|
Optional parameters:
|
|
|
|
* `execute_command` (array of strings) - The command to use to execute the script.
|
|
By default this is `["/bin/sh", "-c", "{{.Command}"]`. The value is an array
|
|
of arguments executed directly by the OS.
|
|
The value of this is
|
|
treated as [configuration template](/docs/templates/configuration-templates.html).
|
|
The only available variable is `Command` which is the command to execute.
|
|
|