Как работать с exec.Command?

Middle
535 просмотров
AFK Offer AI

os/exec позволяет запускать внешние процессы из Go. Создаёшь команду: cmd := exec.Command("ls", "-la", "/tmp"). Запускаешь и получаешь вывод через cmd.Output() или cmd.CombinedOutput() (stdout + stderr). Для потоковой обработки — cmd.StdoutPipe() даёт io.Reader. cmd.Run() запускает и ждёт завершения, cmd.Start() + cmd.Wait() — запускает асинхронно. Важно: никогда не передавай пользовательский ввод напрямую — это command injection. Используй аргументы как отдельные строки, не через shell. Если нужен shell — exec.Command("sh", "-c", "..."), но осторожно.

Следующий вопрос

Что такое go:build constraint?