Go:执行 bash 脚本

如何从 Go 程序执行 bash 脚本?这是我的代码:


目录结构:


/hello/

  public/

    js/

      hello.js

  templates

    hello.html


  hello.go

  hello.sh

你好去


cmd, err := exec.Command("/bin/sh", "hello.sh")

  if err != nil {

    fmt.Println(err)

}

当我运行 hello.go 并调用相关路由时,我在控制台上得到了这个:


exit status 127

output is


我期待 ["a", "b", "c"]


我知道 SO: Executing a Bash Script from Golang上有一个类似的问题,但是,我不确定我的路径是否正确。将不胜感激帮助!



翻阅古今
浏览 306回答 3
3回答

手掌心

exec.Command() 返回一个可用于其他命令的结构,如 Run如果您只是在寻找命令的输出,请尝试以下操作:package mainimport (    "fmt"    "log"    "os/exec")func main() {    out, err := exec.Command("date").Output()    if err != nil {        log.Fatal(err)    }    fmt.Printf("The date is %s\n", out)}

扬帆大鱼

您还可以使用 CombinedOutput() 而不是 Output()。它将转储执行命令的标准错误结果,而不仅仅是返回错误代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go