github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state-exec/cmd.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"os/exec"
     7  )
     8  
     9  func runCmd(meta *executorMeta) (int, error) {
    10  	userArgs := os.Args[1:]
    11  	cmd := exec.Command(meta.MatchingBin, userArgs...)
    12  	cmd.Stdin = os.Stdin
    13  	cmd.Stdout = os.Stdout
    14  	cmd.Stderr = os.Stderr
    15  	cmd.Env = meta.TransformedEnv
    16  
    17  	if err := cmd.Run(); err != nil {
    18  		return -1, fmt.Errorf("command %q failed: %w", meta.MatchingBin, err)
    19  	}
    20  
    21  	return cmd.ProcessState.ExitCode(), nil
    22  }