草庐IT

执行率

全部标签

go - 通过 Golang 执行 shell 脚本后返回错误

我有一个简单的shell脚本(名为copy.sh),如下所示:-#!/bin/shcp$1$2我执行了chmod777copy.sh。我有一个执行上述shell代码的golang代码:-packagemainimport("fmt""os/exec")funcmain(){_,err:=exec.Command("/Users/debraj/copy.sh","/Users/debraj/temp.txt","/Users/debraj/gotest/").Output()iferr!=nil{fmt.Println("Failedtoexecutecommand"+err.Error

bash - 使用 os.exec 执行 'su' 返回错误

据我了解,Go的exec函数直接使用内核执行命令,而不是创建本地终端session或类似的东西。不幸的是,我需要使用su命令来运行脚本,这涉及运行su然后通过标准输入管道输入root密码。是的,我必须使用su(禁用sudo的设备上的业务用例),而且我还需要能够通过管道输入密码。目前我的代码如下rootRun:=exec.Command("su","-c","whoami")rootRun.Stderr=os.StdoutrootRun.Stdout=os.Stdouterr=rootRun.Run()check(err)错误是su:mustberunfromaterminalpanic

go - 执行外部命令并返回其输出

我正在尝试执行linux命令并将输出转换为int。这是我当前的代码:packagemainimport("os/exec""os""strconv"_"fmt""log""bytes")funcmain(){cmd:=exec.Command("ulimit","-n")cmdOutput:=&bytes.Buffer{}cmd.Stdout=cmdOutputerr:=cmd.Run()iferr!=nil{os.Stderr.WriteString(err.Error())}count,err:=strconv.Atoi(string(cmdOutput.Bytes()))ifer

go - 从执行的 bin 中读取配置

我正在使用goviper读取我的repo中的config文件myrepo-config.yaml-main.go我使用下面的代码viper.SetConfigName("config")viper.AddConfigPath(".")viper.SetConfigType("yaml")err:=viper.ReadInConfig()现在我将它编译为二进制文件,然后从不同的路径(运行bin),我得到了找不到配置的错误,这里可能出了什么问题?文件在那里,如果我在调试中使用ioutil.ReadFile我会得到它,但不是来自可执行文件... 最佳答案

maven - 如何使用 maven 构建 GO 可执行文件

我有我的Go源代码,在gobuild之后,生成了一个可执行文件,它接受一些参数来生成输出。有什么方法可以使用任何插件从mavenbuild构建可执行文件吗? 最佳答案 你可以将你的gobuild命令放入一个shell脚本中并使用这个插件运行它:exec-maven-pluginorg.codehaus.mojoBuildGobinarygenerate-sourcesexec${basedir}/build-golang-app.sh其他选项是这个Golangplugin哪个功能更丰富并且特定于此问题。但是对于简单的用例,我仍然会使

go - 如何执行 CloudKit 服务器到服务器的身份验证

我正在关注ComposingWebServiceRequests执行DiscoveringAllUserIdentities(GETusers/discover).我们的想法是让这个简单的请求正常工作,然后再发出更复杂的请求,例如上传Assets。下面的代码从请求中返回一个错误。import("bytes""crypto/ecdsa""crypto/rand""crypto/sha256""crypto/x509""encoding/base64""encoding/pem""fmt""math/big""net/http""time"//...)funcmain(){fmt.Prin

go - 执行模板到文件

我有一个模板文件template.html如下Hello{{.Name}},welcome!代码import("fmt""text/template")funcmain(){typepersonstruct{Namestring}p:=&person{"clinyong"}t:=template.Must(template.New("template.html").ParseFiles("template.html"))f,err:=os.OpenFile("test",os.O_CREATE,0777)iferr!=nil{fmt.Println(err)return}deferf.

go - 这构建得很好。为什么这段代码不执行?

我正在尝试使用go制作网络抓取工具。我构建了这段代码。它构建良好,没有任何错误。但是它的二进制文件不会执行。这是routine数量多的问题还是execute函数中那些变量的问题?packagemainimport("io/ioutil""net/http"//"regexp")funcexcuter(countint){adrr:=string("http://torhit.com/torbite/?page="+string(count))resp,_:=http.Get(adrr)bytes,_:=ioutil.ReadAll(resp.Body)ioutil.WriteFile(

git - git 在什么时候完成它的执行操作?

我在Go中有一个实用程序,它通过os/exec运行提交检查,然后对来自提交的文件执行一些操作。我怀疑此时此命令返回其返回码:_,err:=exec.Command("git","-C",sourceDir,"checkout",hash).Output()文件夹中的整个文件树都是最新的,我可以对文件做任何我想做的事,无需等待某些操作在后台完成。如果它是一个非常大的存储库,其中一个提交与另一个提交有很大不同,并且从一个提交切换到另一个提交时同步删除/添加/修改的文件需要时间怎么办?我可以在gitcheckout返回0后立即运行我的操作吗? 最佳答案

go - 如何执行命令来执行sed

我有以下代码段不起作用。编译但不执行预期的操作。在bash上执行相同的命令。为什么?hash:="4ab32de"cmd="sed-i-e's/clt_[0-9a-z]*/clt_"+hash+"/g'/tmp/test.env"parts=strings.Fields(cmd)for_,part:=rangeparts{fmt.Printf("\n%s",part)}head=parts[0]out,err=exec.Command(head,parts[1:]...).Output()fmt.Printf("\nnewcmdis%s\n",cmd)fmt.Printf("out:%