github.com/UlisseMini/utils@v0.0.0-20181216031219-f016c7ea9463/cmd/cmd.go (about) 1 // package cmd implements methods for automating commandline tasks. 2 package cmd 3 4 import ( 5 "os" 6 "os/exec" 7 "strings" 8 ) 9 10 // RunLoud executes a command string using default file descriptors 11 func RunLoud(command string) error { 12 cmd := Parse(command) 13 14 cmd.Stdout = os.Stdout 15 cmd.Stderr = os.Stderr 16 cmd.Stdin = os.Stdin 17 18 return cmd.Run() 19 } 20 21 // Parse parses a string into a cmd struct 22 func Parse(command string) *exec.Cmd { 23 cmdlist := strings.Split(command, " ") 24 return exec.Command(cmdlist[0], cmdlist[1:]...) 25 } 26 27 // RunSilent runs a comand string silently 28 func RunSilent(command string) error { 29 cmd := Parse(command) 30 return cmd.Run() 31 }