• Go语言执行系统命令行命令(转)


     1 package main
     2 
     3 import (
     4   "os"
     5   "os/exec"
     6   "fmt"
     7   "flag"
     8   "strings"
     9 )
    10 
    11 func main() {
    12   command := flag.String("cmd", "pwd", "Set the command.")
    13   args := flag.String("args", "", "Set the args. (separated by spaces)")
    14   flag.Usage = func() {
    15     fmt.Fprintf(os.Stderr, "Usage: %s [-cmd <command>] [-args <the arguments (separated by spaces)>]
    ", os.Args[0])
    16     flag.PrintDefaults()
    17   }
    18   flag.Parse()
    19   fmt.Println("Command: ", *command)
    20   fmt.Println("Arguments: ", *args)
    21   var argArray []string
    22   if *args != "" {
    23     argArray = strings.Split(*args, " ")
    24   } else {
    25     argArray = make([]string, 0)
    26   }
    27   cmd := exec.Command(*command, argArray...)
    28   buf, err := cmd.Output()
    29   if err != nil {
    30       fmt.Fprintf(os.Stderr, "The command failed to perform: %s (Command: %s, Arguments: %s)", err, *command, *args)
    31       return
    32   }
    33    fmt.Fprintf(os.Stdout, "Result: %s", buf)
    34 }

    来自http://outofmemory.cn/code-snippet/1125/Go-language-execution-xitongmingling-row-command

  • 相关阅读:
    R 读取xls/xlsx文件
    网页免费转换为可编辑的PDF
    Python: NumPy, Pandas学习资料
    鱼油资料
    Activity的四种启动模式和onNewIntent()
    Android Service、IntentService,Service和组件间通信
    Activity生命周期
    Node.js学习起步
    Android 技能图谱学习路线
    Blog
  • 原文地址:https://www.cnblogs.com/yaoliang11/p/4514881.html
Copyright © 2020-2023  润新知