There is an easier way now:
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
out, err := exec.Command("date").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)
}
Where out
is the standard output. It’s in the format []byte
, but you can change it to string easily with:
string(out)
You can also use CombinedOutput()
instead of Output()
which returns standard output and standard error.