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  }