1
0
mirror of https://github.com/go-task/task.git synced 2024-12-12 10:45:49 +02:00

Use interp.Params("-e") intead of running "set -e" manually

This is an improvement for ac8e344173
This commit is contained in:
Andrey Nering 2021-01-01 17:32:42 -03:00
parent 777645888a
commit 22fd74846d

View File

@ -27,18 +27,8 @@ type RunCommandOptions struct {
var (
// ErrNilOptions is returned when a nil options is given
ErrNilOptions = errors.New("execext: nil options given")
setMinusE *syntax.File
)
func init() {
var err error
setMinusE, err = syntax.NewParser().Parse(strings.NewReader("set -e"), "")
if err != nil {
panic(err)
}
}
// RunCommand runs a shell command
func RunCommand(ctx context.Context, opts *RunCommandOptions) error {
if opts == nil {
@ -56,6 +46,7 @@ func RunCommand(ctx context.Context, opts *RunCommandOptions) error {
}
r, err := interp.New(
interp.Params("-e"),
interp.Dir(opts.Dir),
interp.Env(expand.ListEnviron(environ...)),
interp.OpenHandler(openHandler),
@ -64,9 +55,6 @@ func RunCommand(ctx context.Context, opts *RunCommandOptions) error {
if err != nil {
return err
}
if err = r.Run(ctx, setMinusE); err != nil {
return err
}
return r.Run(ctx, p)
}