parent
5fa0e8b06d
commit
7d990f1e74
@ -0,0 +1,27 @@
|
|||||||
|
package operaSystem
|
||||||
|
|
||||||
|
import "os"
|
||||||
|
|
||||||
|
// GetOsEnv 获取key命名的环境变量的值
|
||||||
|
func (sys *OperaSystem) GetOsEnv(key string) string {
|
||||||
|
return os.Getenv(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetOsEnv sets the value of the environment variable named by the key.
|
||||||
|
func (sys *OperaSystem) SetOsEnv(key, value string) error {
|
||||||
|
return os.Setenv(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoveOsEnv remove a single environment variable.
|
||||||
|
func (sys *OperaSystem) RemoveOsEnv(key string) error {
|
||||||
|
return os.Unsetenv(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CompareOsEnv 获取key命名的环境变量值并与compareEnv进行比较
|
||||||
|
func (sys *OperaSystem) CompareOsEnv(key, comparedEnv string) bool {
|
||||||
|
env := sys.GetOsEnv(key)
|
||||||
|
if env == "" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return env == comparedEnv
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package operaSystem
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestOperaSystem_GetOsEnv(t *testing.T) {
|
||||||
|
fmt.Println(operaSystem.GetOsEnv("GOPATH"))
|
||||||
|
fmt.Println(operaSystem.GetOsEnv("hello"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestOperaSystem_SetOsEnv(t *testing.T) {
|
||||||
|
operaSystem.SetOsEnv("hello", "test")
|
||||||
|
fmt.Println(operaSystem.GetOsEnv("hello"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestOperaSystem_RemoveOsEnv(t *testing.T) {
|
||||||
|
operaSystem.SetOsEnv("hello", "test")
|
||||||
|
operaSystem.RemoveOsEnv("hello")
|
||||||
|
fmt.Println(operaSystem.GetOsEnv("hello"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestOperaSystem_CompareOsEnv(t *testing.T) {
|
||||||
|
operaSystem.SetOsEnv("hello", "test")
|
||||||
|
fmt.Println(operaSystem.CompareOsEnv("hello", "test"))
|
||||||
|
fmt.Println(operaSystem.CompareOsEnv("hello", "test1"))
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package operaSystem
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestOperaSystem_Exec(t *testing.T) {
|
||||||
|
out, errout, err := operaSystem.Exec("ping www.baidu.com")
|
||||||
|
fmt.Println(out)
|
||||||
|
fmt.Println(errout)
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
Loading…
Reference in new issue