调用 Golang 的 os/exec
包的简单工具。
- 自定义执行配置:支持通过自定义环境变量、工作路径和 Shell 选项来执行命令。
go get github.com/yyle88/osexec
CommandConfig
结构体提供了一种灵活的方式来配置和执行命令。您可以通过链式接口设置自定义的环境变量、工作路径、Shell 类型以及调试选项。
创建并返回一个新的 CommandConfig
实例。
config := osexec.NewCommandConfig()
- *WithEnvs(envs []string) CommandConfig:设置自定义环境变量。
- *WithPath(path string) CommandConfig:设置工作路径。
- *WithShellType(shellType string) CommandConfig:设置 Shell 类型(例如,
bash
)。 - *WithShellFlag(shellFlag string) CommandConfig:设置 Shell 标志(例如,
-c
)。 - *WithShell(shellType, shellFlag string) CommandConfig:设置 Shell 类型和标志。
- *WithBash() CommandConfig:将命令配置为使用
bash -c
。 - *WithZsh() CommandConfig:将命令配置为使用
zsh -c
。 - *WithSh() CommandConfig:将命令配置为使用
sh -c
。 - *WithDebugMode(debugMode bool) CommandConfig:启用或禁用调试模式。
package main
import (
"fmt"
"github.com/yyle88/osexec"
)
func main() {
// 创建一个新的 CommandConfig 实例,设置工作目录和调试模式
config := osexec.NewCommandConfig().
WithPath("/path/to/directoryName").
WithDebugMode(true)
output, err := config.Exec("echo", "Hello, World!")
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Output:", string(output))
}
}
osexec
是一个开源项目,发布于 MIT 许可证下。有关更多信息,请参阅 LICENSE 文件。
欢迎通过提交 pull request 或报告问题来贡献此项目。
如果你觉得这个包对你有帮助,请在 GitHub 上给个 ⭐,感谢支持!!!
感谢你的支持!
祝编程愉快! 🎉
Give me stars. Thank you!!!