github.com/versent/saml2aws@v2.17.0+incompatible/pkg/shell/shell.go (about)

     1  // +build !windows
     2  
     3  package shell
     4  
     5  import (
     6  	"os"
     7  	"os/exec"
     8  	"strings"
     9  )
    10  
    11  // ExecShellCmd exec shell command using the default shell
    12  func ExecShellCmd(cmdline []string, envVars []string) error {
    13  
    14  	c := strings.Join(cmdline, " ")
    15  
    16  	cs := []string{"/bin/sh", "-c", c}
    17  	cmd := exec.Command(cs[0], cs[1:]...)
    18  	cmd.Stdin = os.Stdin
    19  	cmd.Stdout = os.Stdout
    20  	cmd.Stderr = os.Stderr
    21  	cmd.Env = append(os.Environ(), envVars...)
    22  
    23  	return cmd.Run()
    24  }