使用 Golang 执行 Shell 命令的各种姿势
// TODO: To be updated…
1. os/exec
1.1 只执行命令,不要输出结果
执行命令可以使用Run()
或者Start()
方法,Run()
是阻塞的执行,Start()
是非阻塞的执行:
package main
import (
"fmt"
"os/exec"
)
func main() {
command := exec.Command("ping","www.baidu.com")
err := command.Run() // 阻塞执行
if err != nil{
fmt.Println(err.Error())
}
}
2. go-sh
3. ssh 远程执行命令
// TODO: To be updated…
- golang-ssh-01: 执行远程命令 | MojoTech
- Golang 远程执行命令 | CSDN
- Go 执行远程 ssh 命令 | bbsmax
- 如何使用 Go 语言实现远程执行命令 | TeaKKi
- gossh - 极简的 ssh 管理工具,支持多台主机、远程执行命令、传递文件 | Github
- gossh 使用示例 | Github
- Linux 自动化远程管理工具 gossh 开源了 - 李文塔 | CSDN
参考文章
相关的库
文章教程
- Go 语言中执行命令的几种方式 | 杨彦星
- Golang exec 命令执行 | 简书
- Golang os/exec 执行外部命令 | 简书
- Golang 执行系统命令 os/exec | 01happy
- 如何用 Go 调用 Windows API | Razeen’s Blog
- Go 学习笔记 (八) - 使用 os/exec 执行命令 | Razeen’s Blog
- [译]使用 os/exec 执行命令 | 鸟窝
- golang-ssh-01: 执行远程命令 | MojoTech
- Golang 远程执行命令 | CSDN
- Go 执行远程 ssh 命令 | bbsmax
- 如何使用 Go 语言实现远程执行命令 | TeaKKi