package main import ( "fmt" "os/exec" "runtime" ) func isInstalled(name string) bool { var cmd *exec.Cmd // check for the operating system if runtime.GOOS == "windows" { // 'where' command is used on Windows to locate executables cmd = exec.Command("where.exe", name) } else { // 'command' is used on Unix systems cmd = exec.Command("/bin/sh", "-c", "command -v "+name) } if err := cmd.Run(); err != nil { return false } return true } func subExecute(program string, args ...string) ([]byte, error) { cmd := exec.Command(program, args...) output, err := cmd.CombinedOutput() if err != nil { fmt.Printf("%v\n", err) } return output, err }