Go语言执行系统命令行命令的方法

 更新时间:2015年02月28日 09:16:30   作者:不吃皮蛋  
这篇文章主要介绍了Go语言执行系统命令行命令的方法,实例分析了Go语言操作系统命令行的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Go语言执行系统命令行命令的方法。分享给大家供大家参考。具体如下:

执行Go代码时可以附加参数,包括要执行的命令和给命令的参数

复制代码 代码如下:
package main
import (
  "os"
  "os/exec"
  "fmt"
  "flag"
  "strings"
)
func main() {
  command := flag.String("cmd", "pwd", "Set the command.")
  args := flag.String("args", "", "Set the args. (separated by spaces)")
  flag.Usage = func() {
    fmt.Fprintf(os.Stderr, "Usage: %s [-cmd <command>] [-args <the arguments (separated by spaces)>]\n", os.Args[0])
    flag.PrintDefaults()
  }
  flag.Parse()
  fmt.Println("Command: ", *command)
  fmt.Println("Arguments: ", *args)
  var argArray []string
  if *args != "" {
    argArray = strings.Split(*args, " ")
  } else {
    argArray = make([]string, 0)
  }
  cmd := exec.Command(*command, argArray...)
  buf, err := cmd.Output()
  if err != nil {
      fmt.Fprintf(os.Stderr, "The command failed to perform: %s (Command: %s, Arguments: %s)", err, *command, *args)
      return
  }
   fmt.Fprintf(os.Stdout, "Result: %s", buf)
}

希望本文所述对大家的Go语言程序设计有所帮助。

相关文章

  • 浅谈golang二进制bit位的常用操作

    浅谈golang二进制bit位的常用操作

    这篇文章主要介绍了浅谈golang二进制bit位的常用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Golang实现根据某个特定字段对结构体的顺序进行排序

    Golang实现根据某个特定字段对结构体的顺序进行排序

    这篇文章主要为大家详细介绍了Golang如何实现根据某个特定字段对结构体的顺序进行排序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • go等待一组协程结束的操作方式

    go等待一组协程结束的操作方式

    这篇文章主要介绍了go等待一组协程结束的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 一文带你熟悉Go语言中的分支结构

    一文带你熟悉Go语言中的分支结构

    这篇文章主要和大家分享一下Go语言中的分支结构(if - else-if - else、switch),文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2022-11-11
  • golang对etcd存取和数值监测的实现

    golang对etcd存取和数值监测的实现

    这篇文章主要介绍了golang对etcd存取和数值监测的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • golang实现ftp实时传输文件的案例

    golang实现ftp实时传输文件的案例

    这篇文章主要介绍了golang实现ftp实时传输文件的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 深入了解GoLang中的工厂设计模式

    深入了解GoLang中的工厂设计模式

    这篇文章主要介绍了深入了解GoLang中的工厂设计模式,工厂模式是一种常用的设计模式,它属于创建型模式,它的主要目的是封装对象的创建过程,将对象的创建过程与对象的使用过程分离,从而提高代码的可维护性和可扩展性,需要详细了解可以参考下文
    2023-05-05
  • go gin中间件关于 c.next()、c.abort()和return的使用小结

    go gin中间件关于 c.next()、c.abort()和return的使用小结

    中间件的执行顺序是按照注册顺序执行的,中间件可以通过 c.abort() + retrurn 来中止当前中间件,后续中间件和处理器的处理流程, 这篇文章给大家介绍go gin中间件关于 c.next()、c.abort()和return的使用小结,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Golang使用MinIO的方案详解

    Golang使用MinIO的方案详解

    这篇文章主要介绍了Golang使用MinIO的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 使用Golang进行比较版本号大小

    使用Golang进行比较版本号大小

    在日常开发中,比较版本号大小的情况是经常遇到的,这篇文章主要为大家详细介绍了如何使用Golang进行比较版本号大小,需要的小伙伴可以参考下
    2024-01-01

最新评论