分享
go语言运行shell命令
广训 · · 11363 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
// go语言运行shell命令
package main
import (
"os/exec"
"fmt"
"os"
"strings"
)
func main() {
var ip, whoami []byte
var err error
var cmd *exec.Cmd
// 执行单个shell命令时, 直接运行即可
cmd = exec.Command("whoami")
if whoami, err = cmd.Output(); err != nil {
fmt.Println(err)
os.Exit(1)
}
// 默认输出有一个换行
fmt.Println(string(whoami))
// 指定参数后过滤换行符
fmt.Println(strings.Trim(string(whoami), "\n"))
fmt.Println("====")
// mac平台获取ip地址
// 执行连续的shell命令时, 需要注意指定执行路径和参数, 否则运行出错
cmd = exec.Command("/bin/sh", "-c", `/sbin/ifconfig en0 | grep -E 'inet ' | awk '{print 2ドル}'`)
if ip, err = cmd.Output(); err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(string(ip))
fmt.Println(strings.Trim(string(ip), "\n"))
}
效果:
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信11363 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
// go语言运行shell命令
package main
import (
"os/exec"
"fmt"
"os"
"strings"
)
func main() {
var ip, whoami []byte
var err error
var cmd *exec.Cmd
// 执行单个shell命令时, 直接运行即可
cmd = exec.Command("whoami")
if whoami, err = cmd.Output(); err != nil {
fmt.Println(err)
os.Exit(1)
}
// 默认输出有一个换行
fmt.Println(string(whoami))
// 指定参数后过滤换行符
fmt.Println(strings.Trim(string(whoami), "\n"))
fmt.Println("====")
// mac平台获取ip地址
// 执行连续的shell命令时, 需要注意指定执行路径和参数, 否则运行出错
cmd = exec.Command("/bin/sh", "-c", `/sbin/ifconfig en0 | grep -E 'inet ' | awk '{print 2ドル}'`)
if ip, err = cmd.Output(); err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(string(ip))
fmt.Println(strings.Trim(string(ip), "\n"))
}
效果: