# System system包含os, runtime, shell command相关函数。
## 源码: - [https://github.com/duke-git/lancet/blob/main/system/os.go](https://github.com/duke-git/lancet/blob/main/system/os.go) ## 用法: ```go import ( "github.com/duke-git/lancet/v2/system" ) ``` ## 目录 - [IsWindows](#IsWindows) - [IsLinux](#IsLinux) - [IsMac](#IsMac) - [GetOsEnv](#GetOsEnv) - [SetOsEnv](#SetOsEnv) - [RemoveOsEnv](#RemoveOsEnv) - [CompareOsEnv](#CompareOsEnv) - [ExecCommand](#ExecCommand) - [GetOsBits](#GetOsBits) ## Documentation文档 ### IsWindows检查当前操作系统是否是windows
Signature: ```go func IsWindows() bool ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { isOsWindows := system.IsWindows() fmt.Println(isOsWindows) } ``` ### IsLinux检查当前操作系统是否是linux
Signature: ```go func IsLinux() bool ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { isOsLinux := system.IsLinux() fmt.Println(isOsLinux) } ``` ### IsMac检查当前操作系统是否是macos
Signature: ```go func IsMac() bool ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { isOsMac := system.IsMac fmt.Println(isOsMac) } ``` ### GetOsEnv获取key命名的环境变量的值
Signature: ```go func GetOsEnv(key string) string ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { fooEnv := system.GetOsEnv("foo") fmt.Println(fooEnv) } ``` ### SetOsEnv设置由key命名的环境变量的值
Signature: ```go func SetOsEnv(key, value string) error ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { err := system.SetOsEnv("foo", "foo_value") fmt.Println(err) } ``` ### RemoveOsEnv删除单个环境变量
Signature: ```go func RemoveOsEnv(key string) error ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { err := system.RemoveOsEnv("foo") if err != nil { fmt.Println(err) } } ``` ### CompareOsEnv获取key命名的环境变量值并与compareEnv进行比较
Signature: ```go func CompareOsEnv(key, comparedEnv string) bool ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { system.SetOsEnv("foo", "foo_value") res := system.CompareOsEnv("foo", "foo_value") fmt.Println(res) //true } ``` ### ExecCommand使用shell /bin/bash -c(linux) 或 cmd (windows) 执行shell命令
Signature: ```go func ExecCommand(command string) (stdout, stderr string, err error) ``` Example: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { out, errout, err := system.ExecCommand("ls") fmt.Println(out) fmt.Println(errout) fmt.Println(err) } ``` ### GetOsBits获取当前操作系统位数,返回32或64
函数签名: ```go func GetOsBits() int ``` 例子: ```go import ( "fmt" "github.com/duke-git/lancet/v2/system" ) func main() { osBit := system.GetOsBits() fmt.Println(osBit) } ```