Go 为什么不在项目内部执行命令';s文件夹?

Go 为什么不在项目内部执行命令';s文件夹?,go,cron,sh,Go,Cron,Sh,我正在尝试使用sh文件执行命令,如下所示: #!/bin/bash echo "executing......................................" wget -i http://example.com -O /dev/null 当我直接从桌面文件夹访问时,它运行正常 但当我将其与我的golang项目整合时,例如: 我创建了一个名为myProject/sh的文件夹,并将文件粘贴到那里 现在在我的另一个包中使用cron,我试图访问test.sh文件 func Ru

我正在尝试使用
sh
文件执行命令,如下所示:

#!/bin/bash  
echo "executing......................................"
wget -i http://example.com -O /dev/null
当我直接从桌面文件夹访问时,它运行正常

但当我将其与我的golang项目整合时,例如: 我创建了一个名为
myProject/sh
的文件夹,并将文件粘贴到那里

现在在我的另一个包中使用cron,我试图访问
test.sh
文件

func RunCron() {
    c := cron.New()
    c.AddFunc("10 * * * * *", ExecuteFunction)
    c.Start()
}

func ExecuteFunction(){
    fmt.Println("test----------------")
    utils.ExecuteCommand("sh "+config.GetBasePath()+"sh/test.sh")
}
现在它输出类似于

test----------------
Result: executing......................................

exit status 4: --2018-01-16 18:25:10--  http://example.com
Resolving http://example.com)... 1.1.1.1
Connecting to example.com (example.com)|2.2.2.2|:8080... failed: Connection refused.
No URLs found in example.com.
我无法理解为什么相同的代码在我的桌面文件夹中运行良好,但在我的项目文件夹中停止执行。你能告诉我我做错了什么来节省我的时间吗


谢谢

您是否考虑过使用
“os/exec”

cmd:=exec.Command(“/bin/sh”,test.sh)

编辑:对,我当时没有建议,我自己测试了一下

func main() {
        cmd := exec.Command("/bin/sh", "test.sh")
        out, err := cmd.CombinedOutput()
        if err != nil {
                log.Fatalf("cmd.Run() failed with %s\n", err)
        }
        fmt.Printf("output is :\n%s\n", string(out)) }

它正在执行,它只是以非零代码退出,因为您试图读取URL列表以从名为
http://example.com
。输出清楚地告诉您:
在example.com中找不到URL
。但是当我从项目中访问相同的代码时,它会显示
/dev/null 100%[=================================================================================================================================]60---KB/s在0s 2018-01-16 18:32:08(4.31 MB/s)-“/dev null”已保存[60/60]
文件包含
#/bin/bash echo“正在执行…”wget-ihttp://example.com:8080/api/v1/test-shfile-O/dev/null
连接到您传递的任何主机似乎都有问题。您是否在同一台计算机上运行脚本和程序?主机是一个普通字符串,还是您碰巧使用了环境变量?它需要任何凭证吗?建议属于评论,而不是答案。这仍然不能回答OP的问题。问题已到达
http://example.com/...
在脚本中,不运行实际脚本。ohh jezz。。我甚至都没看到。哇。。我的错。3.我没听清楚。