gostations/commander.go
2024-07-09 21:29:11 +01:00

39 lines
737 B
Go

package main
import (
"fmt"
"os"
"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...)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
fmt.Printf("%v\n", err)
}
return cmd.CombinedOutput()
}