Skip to content

Commit

Permalink
split up cmd package
Browse files Browse the repository at this point in the history
  • Loading branch information
trusz committed Oct 28, 2019
1 parent c12f33b commit d13cf70
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 56 deletions.
36 changes: 36 additions & 0 deletions src/cmd/background.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package cmd

import (
"os/exec"
)

// Background starts the given command in a background process
func Background(command string) {

app := "sh"
arg0 := "-c"

cmd := exec.Command(app, arg0, command)
// stdout, _ := cmd.StdoutPipe()
// stderr, _ := cmd.StderrPipe()

cmd.Start()

// go func() {
// scanner := bufio.NewScanner(stdout)
// for scanner.Scan() {
// m := scanner.Text()
// fmt.Println(m)
// }
// }()

// go func() {
// scanner := bufio.NewScanner(stderr)
// for scanner.Scan() {
// m := scanner.Text()
// fmt.Println(m)
// }
// }()

// return cmd
}
56 changes: 0 additions & 56 deletions src/cmd/cmd.go
Original file line number Diff line number Diff line change
@@ -1,57 +1 @@
package cmd

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

// Run _
func Run(command string) *exec.Cmd {

app := "sh"
arg0 := "-c"

cmd := exec.Command(app, arg0, command)
stdout, _ := cmd.StdoutPipe()
stderr, _ := cmd.StderrPipe()

cmd.Start()

go func() {
scanner := bufio.NewScanner(stdout)
for scanner.Scan() {
m := scanner.Text()
fmt.Println(m)
}
}()

go func() {
scanner := bufio.NewScanner(stderr)
for scanner.Scan() {
m := scanner.Text()
fmt.Println(m)
}
}()

return cmd
}

// Exec _
func Exec(command string) string {
app := "sh"
arg0 := "-c"

// cmd := exec.Command(app, arg0, command)
// stdout, _ := cmd.StdoutPipe()
// stderr, _ := cmd.StderrPipe()

// cmd.Run()

out, err := exec.Command(app, arg0, command).Output()
if err != nil {
log.Fatal(err)
}
return string(out)
}
18 changes: 18 additions & 0 deletions src/cmd/exec.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package cmd

import (
"log"
"os/exec"
)

// Exec runs the command and returns the output
func Exec(command string) string {
app := "sh"
arg0 := "-c"

out, err := exec.Command(app, arg0, command).Output()
if err != nil {
log.Fatal(err)
}
return string(out)
}
40 changes: 40 additions & 0 deletions src/cmd/run.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package cmd

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

// Run starts the command in a new thread,
// writes out stdout and stderr outputs
// and returns the command object
func Run(command string) *exec.Cmd {

app := "sh"
arg0 := "-c"

cmd := exec.Command(app, arg0, command)
stdout, _ := cmd.StdoutPipe()
stderr, _ := cmd.StderrPipe()

cmd.Start()

go func() {
scanner := bufio.NewScanner(stdout)
for scanner.Scan() {
m := scanner.Text()
fmt.Println(m)
}
}()

go func() {
scanner := bufio.NewScanner(stderr)
for scanner.Scan() {
m := scanner.Text()
fmt.Println(m)
}
}()

return cmd
}

0 comments on commit d13cf70

Please sign in to comment.