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)
}
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语言程序设计有所帮助。
相关文章
go gin中间件关于 c.next()、c.abort()和return的使用小结
中间件的执行顺序是按照注册顺序执行的,中间件可以通过 c.abort() + retrurn 来中止当前中间件,后续中间件和处理器的处理流程, 这篇文章给大家介绍go gin中间件关于 c.next()、c.abort()和return的使用小结,感兴趣的朋友跟随小编一起看看吧2024-03-03
最新评论