Golang exec.Command

не могу понять как запустить команду (PowerShell) в linux из Go, просто в консоле запускаю так и все работает, а когда из Go то отображает сообщение как будто запустил команду без аргументов.

pwsh -Command 'Send-MailMessage -SMTPServer localhost -Port 25 -To testuser@localhost -From [email protected] -Subject "This is a test email" -Body "test body"
// в консоле отправляется нормально

из Go:

pwsh = "pwsh"
command = "-Command 'Send-MailMessage -SMTPServer localhost -Port 25 -To " + recipient + " -From " + user.Email + " -Subject \"" + subject + "\" -Body \"" + message + "\"'"
output, err := exec.Command(pwsh, command).Output()
// result: как будто просто написал pwsh

Подскажите как запустить из Go...


Ответы (1 шт):

Автор решения: user7860670

PowerShell принимает 2 (два) аргумента, а вы передаете один длинный. Передавайте каждый аргумент в отдельной строке:

output, err := exec.Command("pwsh", "-Command", "'Send-MailMessage -SMTPServer...").Output()
→ Ссылка