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语言程序设计有所帮助。

时间: 2015-02-26

Go语言命令行操作命令详细介绍

Go 命令 Go语言自带有一套完整的命令操作工具,你可以通过在命令行中执行go来查看它们: 图1.3 Go命令显示详细的信息 这些命令对于我们平时编写的代码非常有用,接下来就让我们了解一些常用的命令. go build 这个命令主要用于测试编译.在包的编译过程中,若有必要,会同时编译与之相关联的包. 1.如果是普通包,就像我们在1.2节中编写的mymath包那样,当你执行go build之后,它不会产生任何文件.如果你需要在$GOPATH/pkg下生成相应的文件,那就得执行go install了

如何使用Go语言实现远程执行命令

前言 远程执行命令有什么用?为什么要远程执行命令? 如果你只有2,3台服务器需要管理的时候,远程执行命令确实没有没多大作用,你可以登录到每台服务器上去完成各种操作. 当你的服务器大于3台的时候,远程执行的命令的方式就可以大大提高你的生产力了. 如果你有一个可以远程执行命令的工具,那么就可以像操作单台机器那样操作多台机器,机器越多,效率提高的越多. 远程执行命令最常用的方法就是利用 SSH 协议,将命令发送到远程机器上执行,并获取返回结果. 一般命令 所谓一般命令,就是在一定时间内会执行完的命令.

Golang记录、计算函数执行耗时、运行时间的一个简单方法

先写一个公共函数, 比如在 common 包下有这么一个方法: // 写超时警告日志 通用方法 func TimeoutWarning(tag, detailed string, start time.Time, timeLimit float64) { dis := time.Now().Sub(start).Seconds() if dis > timeLimit { log.Warning(log.CENTER_COMMON_WARNING, tag, " detailed:&quo

go语言执行windows下命令行的方法

本文实例讲述了go语言执行windows下命令行的方法.分享给大家供大家参考.具体如下: 在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令 复制代码 代码如下: package main import(     "fmt"     "os/exec" ) func main(){       c := exec.Command("cmd", "/C", "del

go语言通过管道连接两个命令行进程的方法

本文实例讲述了go语言通过管道连接两个命令行进程的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (   "os"   "os/exec"   "fmt"   "flag"   "strings" ) func main() { generator := exec.Command("cmd1") consumer := exe

go语言执行等待直到后台goroutine执行完成实例分析

本文实例分析了go语言执行等待直到后台goroutine执行完成的用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: var w sync.WaitGroup w.Add(2) go func() {     // do something     w.Done() } go func() {     // do something     w.Done() } w.Wait() 希望本文所述对大家的Go语言程序设计有所帮助.

Go语言中使用flag包对命令行进行参数解析的方法

flag flag 是Go 标准库提供的解析命令行参数的包. 使用方式: flag.Type(name, defValue, usage) 其中Type为String, Int, Bool等:并返回一个相应类型的指针. flag.TypeVar(&flagvar, name, defValue, usage) 将flag绑定到一个变量上. 自定义flag 只要实现flag.Value接口即可: type Value interface { String() string Set(string)

使用Apache commons-cli包进行命令行参数解析的示例代码

Apache的commons-cli包是专门用于解析命令行参数格式的包. 依赖: <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.3.1</version> </dependency> 使用此包需要: 1.先定义有哪些参数需要解析.哪些参数有额外的选项.每个参数的描述等等,对应

Android如何通过命令行操作Sqlite3数据库的方法

1.首先,找到 Android SDK 在本机中的位置,如果不知道,可以通过在 Android Studio 找到,如下: 2.其次,通过 cmd 打开 windows 命令行窗口,如果,SDK 所在目录就在C盘下,可以直接通过 cd 命令挂载至 SDK 下的 platform-tools 目录,如下: cd C:\Users\wyj\AppData\Local\Android\Sdk\platform-tools 如果在其他盘(如 D 盘),需要先转到该盘: 然后再使用 cd 命令转到对应的位

SpringBoot java-jar命令行启动原理解析

在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,而不需要另外配置一个Web Server.那么spring boot如何启动的呢?今天我们就来一起探究一下它的原理.首先我们来创建一个基本的spring boot工程来帮助我们分析,本次spring boot版本为 2.2.5.RELEASE. // SpringBootDemo.java @SpringBootApplication public class Spr

Zend Framework基于Command命令行建立ZF项目的方法

本文实例讲述了Zend Framework基于Command命令行建立ZF项目的方法.分享给大家供大家参考,具体如下: zend framework 的项目结构比较复杂,但是有既定的结构.zf提供了使用Command生成项目结构的工具,使用非常方便,初学者可以不用为了复杂的结构而Orz. 使用前的一些配置. 涉及到的文件: 1.zf 的 library 2.bin zf下载时所带的bin文件夹 3.php.exe 第一步: 将library和bin文件夹拷贝到服务器根目录,我的服务器跟目录为E:

Go语言Web编程实现Get和Post请求发送与解析的方法详解

本文实例讲述了Go语言Web编程实现Get和Post请求发送与解析的方法.分享给大家供大家参考,具体如下: 这是一篇入门文章,通过一个简单的例子介绍Golang的Web编程主要用到的技术. 文章结构包括: 1. Client-Get 请求 2. Client-Post 请求 3. Server 处理 Get 和 Post 数据 在数据的封装中,我们部分采用了json,因而本文也涉及到Golang中json的编码和解码. 一.Client-Get 复制代码 代码如下: package main i

使用curl命令行模拟登录WordPress的方法

WordPress默认登录页面:http://192.168.0.120/wordpress/wp-login.php 1.Chrome浏览器F12,输入一个错误的密码,点击登录: 取出"log=root&pwd=root@123&wp-submit=%E7%99%BB%E5%BD%95&redirect_to=http%3A%2F%2F192.168.0.120%2Fwordpress%2Fwp-admin%2F&testcookie=1",并替换为正

在 Linux 命令行发送邮件的 5 种方法(推荐)

当你需要在 shell 脚本中创建邮件时,就需要用到命令行发送邮件的知识.Linux 中有很多命令可以实现发送邮件.本教程中包含了最流行的 5 个命令行邮件客户端,你可以选择其中一个.这 5 个命令分别是: mail / mailx mutt mpack sendmail ssmtp 工作原理 我先从整体上来解释下 Linux 中邮件命令怎么把邮件传递给收件人的.邮件命令撰写邮件并发送给一个本地邮件传输代理(MTA,如 sendmail.Postfix).邮件服务器和远程邮件服务器之间通信以实际

Python命令行click参数用法解析

这篇文章主要介绍了Python命令行click参数用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.前言 在概念上, click 把命令行分为 3 个组成:参数.选项和命令. 参数 就是跟在命令后的除选项外的内容,比如 git add a.txt 中的 a.txt 就是表示文件路径的参数 选项 就是以 - 或 -- 开头的参数,比如 -f.--file 命令 就是命令行的初衷了,比如 git 就是命令,而 git add 中的 add