Merge pull request #5043 from hashicorp/fix5031
Revert "Universally provide POSIX semantics for the `shell` provision…
This commit is contained in:
commit
c4569127e4
|
@ -101,7 +101,7 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.config.ExecuteCommand == "" {
|
if p.config.ExecuteCommand == "" {
|
||||||
p.config.ExecuteCommand = "chmod +x {{.Path}}; env {{.Vars}} {{.Path}}"
|
p.config.ExecuteCommand = "chmod +x {{.Path}}; {{.Vars}} {{.Path}}"
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.config.ExpectDisconnect == nil {
|
if p.config.ExpectDisconnect == nil {
|
||||||
|
|
|
@ -66,7 +66,7 @@ Optional parameters:
|
||||||
as well, which are covered in the section below.
|
as well, which are covered in the section below.
|
||||||
|
|
||||||
- `execute_command` (string) - The command to use to execute the script. By
|
- `execute_command` (string) - The command to use to execute the script. By
|
||||||
default this is `chmod +x {{ .Path }}; env {{ .Vars }} {{ .Path }}`. The value
|
default this is `chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}`. The value
|
||||||
of this is treated as [configuration
|
of this is treated as [configuration
|
||||||
template](/docs/templates/engine.html). There are two
|
template](/docs/templates/engine.html). There are two
|
||||||
available variables: `Path`, which is the path to the script to run, and
|
available variables: `Path`, which is the path to the script to run, and
|
||||||
|
@ -126,15 +126,18 @@ is being piped in with the value of `packer`.
|
||||||
By setting the `execute_command` to this, your script(s) can run with root
|
By setting the `execute_command` to this, your script(s) can run with root
|
||||||
privileges without worrying about password prompts.
|
privileges without worrying about password prompts.
|
||||||
|
|
||||||
### `execute_command` Example
|
### FreeBSD Example
|
||||||
|
|
||||||
The following contrived example shows how to pass environment variables and
|
FreeBSD's default shell is `tcsh`, which deviates from POSIX semantics. In order
|
||||||
change the permissions of the script to be executed:
|
for packer to pass environment variables you will need to change the
|
||||||
|
`execute_command` to:
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
chmod +x {{ .Path }}; chmod 0700 {{ .Path}}; env {{ .Vars }} {{ .Path }}
|
chmod +x {{ .Path }}; env {{ .Vars }} {{ .Path }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Note the addition of `env` before `{{ .Vars }}`.
|
||||||
|
|
||||||
## Default Environmental Variables
|
## Default Environmental Variables
|
||||||
|
|
||||||
In addition to being able to specify custom environmental variables using the
|
In addition to being able to specify custom environmental variables using the
|
||||||
|
|
Loading…
Reference in New Issue