我正在编写一个脚本,我希望对gobench进行多次调用,我收到了我应该以二进制方式阅读的建议,就像那样
package main
import (
"log"
"os/exec"
)
func gobench(url string) {
cmd := exec.Command("gobench", url)
err := cmd.Run()
if err != nil {
log.Fatalf("Command finished with error: %v", err)
}
}
var searchRoutes = []string{
"http:www.myurl.com/request1",
"http:www.myurl.com/request2",
"http:www.myurl.com/request3",
"http:www.myurl.com/request4",
}
func main() {
for i := 0; i < len(searchRoutes); i++ {
gobench(searchRoutes[i])
}
}
但是一旦我这样做,我就会收到这个错误,有人知道为什么吗?
2014/06/03 12:02:44命令以错误结束:exec:&#34; gobench&#34;: $ PATH
中找不到可执行文件
如果没有将gobench设置为PATH中的值,还有其他方法可以执行此操作吗?
如果我将我的gobench目录导出到我的路径,我就收到了
2014/06/03 12:22:59命令以错误结束:退出状态2退出 状态1
答案 0 :(得分:1)
尝试将gobench所在的整个目录传递给exec.Command()
:
func gobench(url string) {
cmd := exec.Command("/path/to/gobench", url)
err := cmd.Run()
if err != nil {
log.Fatalf("Command finished with error: %v", err)
}
}