provisioner/shell: set -e on the shebang itself
This commit is contained in:
parent
952077ccb0
commit
3ed73852be
|
@ -94,7 +94,7 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
|
|||
}
|
||||
|
||||
if p.config.InlineShebang == "" {
|
||||
p.config.InlineShebang = "/bin/sh"
|
||||
p.config.InlineShebang = "/bin/sh -e"
|
||||
}
|
||||
|
||||
if p.config.RawStartRetryTimeout == "" {
|
||||
|
@ -184,7 +184,6 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
|
|||
// Write our contents to it
|
||||
writer := bufio.NewWriter(tf)
|
||||
writer.WriteString(fmt.Sprintf("#!%s\n", p.config.InlineShebang))
|
||||
writer.WriteString("set -e\n")
|
||||
for _, command := range p.config.Inline {
|
||||
if _, err := writer.WriteString(command + "\n"); err != nil {
|
||||
return fmt.Errorf("Error preparing shell script: %s", err)
|
||||
|
|
|
@ -66,8 +66,10 @@ Optional parameters:
|
|||
|
||||
* `inline_shebang` (string) - The
|
||||
[shebang](http://en.wikipedia.org/wiki/Shebang_%28Unix%29) value to use when
|
||||
running commands specified by `inline`. By default, this is `/bin/sh`.
|
||||
running commands specified by `inline`. By default, this is `/bin/sh -e`.
|
||||
If you're not using `inline`, then this configuration has no effect.
|
||||
**Important:** If you customize this, be sure to include something like
|
||||
the `-e` flag, otherwise individual steps failing won't fail the provisioner.
|
||||
|
||||
* `remote_path` (string) - The path where the script will be uploaded to
|
||||
in the machine. This defaults to "/tmp/script.sh". This value must be
|
||||
|
|
Loading…
Reference in New Issue