加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

go语言运行shell命令

发布时间:2020-12-15 17:09:02 所属栏目:安全 来源:网络整理
导读:// go语言运行shell命令package mainimport ( "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
// 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"))
}

效果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读