Execute um subprocesso e conecte-se a ele com golang

O código a seguir permitirá que você execute um subprocesso com golang e, em seguida, conecte-o a stdout, stdin, sterr, etc. Ótimo para acionar chamadas ssh!

Além disso, nota útil, consulte o args ...string? É como o splat do Python. Ele esperará um número variável de argumentos para a função e, em seguida, o uso args...passará todos esses argumentos adiante.

package main

import (
"fmt"
"os/exec"
"os"
)

func exec_command
(program string, args ...string) {
cmd
:= exec.Command(program, args...)
cmd
.Stdin = os.Stdin;
cmd
.Stdout = os.Stdout;
cmd
.Stderr = os.Stderr;
err
:= cmd.Run()
if err != nil {
fmt
.Printf("%vn", err)
}
}

func main
() {
exec_command
("vagrant", "ssh")
}