Я пытаюсь выяснить, почему некоторые команды оболочки работают с 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), если это возможно, вместо того, чтобы создавать две отдельные функции для проверки, установлены ли вещи на компьютере пользователя.