in gce-containers-startup/command/runner.go [29:43]
func (r Runner) Run(commandAndArgs ...string) (string, error) {
if len(commandAndArgs) == 0 {
return "", fmt.Errorf("No command provided.")
}
output, err := exec.Command(commandAndArgs[0], commandAndArgs[1:]...).CombinedOutput()
outputString := string(output)
if err != nil {
errorString := fmt.Sprintf("%s", err)
if outputString != "" {
errorString = fmt.Sprintf("%s, details: %s", errorString, outputString)
}
return "", fmt.Errorf("Failed to execute command %s: %s", commandAndArgs, errorString)
}
return outputString, nil
}