You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
522 B
28 lines
522 B
package operaSystem
|
|
|
|
import (
|
|
"bytes"
|
|
"os/exec"
|
|
)
|
|
|
|
// ExecCommand 使用shell /bin/bash -c(linux) 或 cmd (windows) 执行shell命令
|
|
func (sys *OperaSystem) Exec(command string) (stdout, stderr string, err error) {
|
|
var out bytes.Buffer
|
|
var errout bytes.Buffer
|
|
|
|
cmd := exec.Command("/bin/bash", "-c", command)
|
|
if sys.IsWindows() {
|
|
cmd = exec.Command("cmd")
|
|
}
|
|
cmd.Stdout = &out
|
|
cmd.Stderr = &errout
|
|
err = cmd.Run()
|
|
|
|
if err != nil {
|
|
stderr = string(errout.Bytes())
|
|
}
|
|
stdout = string(out.Bytes())
|
|
|
|
return
|
|
}
|