From ac839a37de47388fbe102b3f72660d97af6a5511 Mon Sep 17 00:00:00 2001 From: guzeng Date: Fri, 5 Feb 2021 17:38:14 +0800 Subject: [PATCH] init --- terminal.go | 32 ++++++++++++++++++++++++++++++++ terminal_test.go | 17 +++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100755 terminal.go create mode 100755 terminal_test.go diff --git a/terminal.go b/terminal.go new file mode 100755 index 0000000..d54daba --- /dev/null +++ b/terminal.go @@ -0,0 +1,32 @@ +package terminal + +import ( + "bytes" + "log" + "os/exec" +) + +/* 调用系统终端 */ +func UseTerminal(name string, args ...string) map[string]interface{} { + + cmd := exec.Command(name, args...) + + var out bytes.Buffer + + mRet := make(map[string]interface{}) + + cmd.Stdout = &out + err := cmd.Run() + if err != nil { + log.Println("ERROR", "140133|系统命令", name, args, "执行错误", err.Error()) + mRet["ReturnCode"] = "140133" + mRet["Msg"] = "系统终端命令执行出错" + return mRet + } + + mRet["ReturnCode"] = "1" + mRet["Msg"] = "命令执行成功,获取输出成功" + mRet["Result"] = out.String() + return mRet + +} diff --git a/terminal_test.go b/terminal_test.go new file mode 100755 index 0000000..2f7df8a --- /dev/null +++ b/terminal_test.go @@ -0,0 +1,17 @@ +package terminal + +import ( + "testing" +) + +func Test_UseTerminal(t *testing.T) { + + name := "sudo" + a, b, c, d, e := "-u", "www-data", "php", "/www/web/nextcloud/occ", "trashbin:cleanup" + + mRet := UseTerminal(name, a, b, c, d, e) + //mRet := UseTerminal("sudo -u www-data php occ --help") + + t.Log(mRet) + +}