я выяснял
exec.Command()
В Го. Это просто и не вызывает проблем с использованием основных команд терминала, таких как «ls», «cat» и т. д.
Но когда я хотел использовать вывод команды «log» в macOS. Всегда возвращает ошибку.
Вот простое его использование:
func main() {
out, err := exec.Command("log", "help").Output()
if err != nil {
log.Printf("error: %v", err)
}
fmt.Println(string(out))
}
И вот ошибка:
2022/11/19 20:03:37 error: exit status 64
Я ожидал увидеть результаты log help в macOS.
Но моя программа возвращает ошибку с exit status 64
Пожалуйста, дайте мне знать, если я что-то пропустил.

В вашем коде нет ничего плохого, если вы попробуете ту же самую команду, которую выполняете в терминале, и увидите статус выхода, это будет 64:
➜ ~ log help
usage:
log <command>
global options:
-?, --help
-q, --quiet
-v, --verbose
commands:
collect gather system logs into a log archive
config view/change logging system settings
erase delete system logging data
show view/search system logs
stream watch live system logs
stats show system logging statistics
further help:
log help <command>
log help predicates
➜ ~ echo $?
64
И если вам интересно, почему он возвращается 64, вы можете спросить sysexits, что это значит:
➜ ~ man sysexits | grep -A 3 '64'
EX_USAGE (64) The command was used incorrectly, e.g., with the
wrong number of arguments, a bad flag, a bad syntax
in a parameter, or whatever.
О, спасибо. Я не ожидал командовать, была ли проблема сама по себе.
echo $?получилось!