本文實(shí)例講述了Go語(yǔ)言執(zhí)行系統(tǒng)命令行命令的方法。分享給大家供大家參考。具體如下:
執(zhí)行Go代碼時(shí)可以附加參數(shù),包括要執(zhí)行的命令和給命令的參數(shù)
復(fù)制代碼 代碼如下:
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)
}
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Go語(yǔ)言命令行操作命令詳細(xì)介紹
- Go語(yǔ)言中使用flag包對(duì)命令行進(jìn)行參數(shù)解析的方法
- 如何使用Go語(yǔ)言實(shí)現(xiàn)遠(yuǎn)程執(zhí)行命令
- go語(yǔ)言通過(guò)管道連接兩個(gè)命令行進(jìn)程的方法
- Go語(yǔ)言中讀取命令參數(shù)的幾種方法總結(jié)