英文:
Golang: Execute the gobench on binary mode
问题
我正在编写一个脚本,其中我想要多次调用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 Command finished with error: exec: "gobench": 可执行文件在$PATH中找不到
有没有其他方法可以在不将gobench设置为PATH中的值的情况下执行它?
如果我将gobench目录导出到我的PATH中,我会收到这个错误
2014/06/03 12:22:59 Command finished with error: exit status 2 exit status 1
英文:
I'm working in a script in which I want to make several calls to gobench, I received the advice that I should read on the binary way, like that
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])
}
}
But once I'm do it this I'm getting this error, Does anybody knows why?
> 2014/06/03 12:02:44 Command finished with error: exec: "gobench":
> executable file not found in $PATH
Are there any other way to do the exc without setting the gobench as value in the PATH?
If I export my gobench dir to my PATH I'm receiving this
> 2014/06/03 12:22:59 Command finished with error: exit status 2 exit
> status 1
答案1
得分: 1
尝试将包含 gobench 的整个目录传递给 exec.Command()
:
func gobench(url string) {
cmd := exec.Command("/path/to/gobench", url)
err := cmd.Run()
if err != nil {
log.Fatalf("命令执行出错: %v", err)
}
}
英文:
Try passing the whole directory where gobench resides to 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)
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论