【golang】go执行shell命令行的方法( exec.Command )

所需包:

import "os/exec"

cmd的用法:

 cmd := exec.Command("ls", "-lah")      //ls是命令,后面是参数

 e := cmd.Run()

多个参数的要分开传入:

如:ip link show bond0

cmd :=exec.Command("ip","link","show","bond0")

复杂参数使用fmt.Sprintf拼接:

 cmd := exec.Command("cat", fmt.Sprintf("/sys/class/net/%s/bonding/slaves", bondName))

cmd的两种运行方式:

Run​​ 函数启动指定命令并等待它完成,而 ​​Start​​ 启动指定命令但不等待它完成;

 e := cmd.Run()

 e := cmd.Start()

例子:

package main



import (

 "fmt"

 "os/exec"

)


func main() {

cmd := exec.Command("ls")


cmd.Stdout = os.Stdout  //把cmd的输出指向标准输出,不然控制台看不到

cmd.Stderr = os.Stderr   //把cmd的错误输出指向标准错误输出,不然控制台看不到



 e := cmd.Run()

 CheckError(e)

}



func CheckError(e error) {

 if e != nil {

 fmt.Println(e)

 }

}

为不同的操作系统指定命令

需要导入运行时包。

要查看所有可能的操作系统,我们可以运行 ​​go tool dist list​​ ,它将显示所有可能的操作系统和 ARCH 组合。

if runtime.GOOS == "linux" {

 cmd = exec.Command("ls")

}

命令封装

见:《golang exec.Command 执行命令用法实例》https://blog.csdn.net/whatday/article/details/109277998

相关推荐

  1. 【golang】go执行shell命令方法( exec.Command )

    2023-12-18 06:06:03       47 阅读
  2. Android - 代码执行shell命令应用

    2023-12-18 06:06:03       37 阅读
  3. Linux 命令世界 :1.什么是shell

    2023-12-18 06:06:03       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 06:06:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 06:06:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 06:06:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 06:06:03       20 阅读

热门阅读

  1. DOS及DDOS的原理及防御方式

    2023-12-18 06:06:03       35 阅读
  2. Spring Boot中实现订单30分钟自动取消的策略

    2023-12-18 06:06:03       43 阅读
  3. @RabbitHandler和@RabbitListener的区别

    2023-12-18 06:06:03       33 阅读
  4. 自动驾驶自动换道ALC功能规范

    2023-12-18 06:06:03       33 阅读
  5. 展开说说:Android之广播BroadcastReceiver源码浅析

    2023-12-18 06:06:03       38 阅读
  6. Android共享元素动画

    2023-12-18 06:06:03       36 阅读
  7. C++-LD_PRELOAD

    2023-12-18 06:06:03       29 阅读
  8. android 源码编译android 12

    2023-12-18 06:06:03       49 阅读
  9. Linux 系统开机启动流程

    2023-12-18 06:06:03       34 阅读
  10. 常用登录加密之Shiro与Spring Security的使用对比

    2023-12-18 06:06:03       30 阅读