system update

master
sre 4 years ago
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)
}

@ -13,3 +13,18 @@ func (os *OperaSystem) GOARCH() string {
func (os *OperaSystem) GOGC() string {
return runtime.Compiler
}
// IsWindows check if current os is windows
func (os *OperaSystem) IsWindows() bool {
return runtime.GOOS == "windows"
}
// IsLinux check if current os is linux
func (os *OperaSystem) IsLinux() bool {
return runtime.GOOS == "linux"
}
// IsMac check if current os is macos
func (os *OperaSystem) IsMac() bool {
return runtime.GOOS == "darwin"
}

@ -9,3 +9,9 @@ func TestOS_GOOS(t *testing.T) {
fmt.Println(operaSystem.GOOS())
fmt.Println(operaSystem.GOGC())
}
func TestOperaSystem_IsPlatform(t *testing.T) {
fmt.Println(operaSystem.IsLinux())
fmt.Println(operaSystem.IsWindows())
fmt.Println(operaSystem.IsMac())
}

Loading…
Cancel
Save