Я пытаюсь понять, почему некоторые команды оболочки работают с goloang exec.Command, а другие нет, когда все они возвращают один и тот же результат при вводе в терминал. В основном я хотел бы использовать одну и ту же команду для двоичных файлов Windows и Mac (exec.Command("where", "go").Output()).
В частности:
goInstalled, err := exec.Command("where", "go").Output() // does not return output on mac when compiled but does in terminal command. DOES return output on windows compiled.
goInstalled, err := exec.Command("which", "go").Output() // does not return output on mac when compiled but does in terminal command
goInstalled, err := exec.Command("command", "-v", "go").Output() // returns output when compiled and as terminal command (mac only)
Я хотел бы использовать одну и ту же команду для Windows и Mac (darwin), если это возможно, вместо того, чтобы создавать две отдельные функции, чтобы проверять, установлены ли что-то на компьютере пользователя.
err
. - person hobbs   schedule 10.01.2019