草庐IT

os-shell

全部标签

go - 使用 os/exec 命令从 Windows 交叉编译到 Linux

标题基本上就是这么说的。我知道我能做到setGOOS=linuxsetGOARCH=amd64在gobuild之前在cmd中,但我正在尝试编写一个构建脚本并使用exec.Command完成所有操作。我的gobuild-oetc与exec.Command(它构建)一起工作,但是在执行以下任一命令后在测试脚本中打印GOOS时:cmd:=exec.Command("set","GOOS=linux")//ORcmd:=exec.Command("setGOOS=linux")我得到了windows。有什么想法吗?谢谢! 最佳答案 我强烈建

go - 如果通过 os.exec 运行,调用的程序失败

我不确定这是调用程序的问题还是我调用程序的方式导致的问题。因此,我从源代码开始。我需要从程序中调用ssh(如果您对原因感兴趣,我将在下面提及)但ssh会静默退出。当我从shell调用ssh-vuser@remotehost时,这成功了:在stderr上显示了想要的调试输出我被要求输入密码我可以看到远程主机shell但是当我在我的程序中执行相同操作时(myssh-vuser@remotehost只会发生这种情况:我被要求输入密码既没有显示stderr上的调试输出,也没有到达远程主机shell。这是我的源代码:packagemainimport("fmt""log""os""os/exec

string - golang 将 os.ModePerm 转换为字符串

我想将文件的权限表示形式作为string。这是我想要做的:fileInfo,err:=os.Lstat(path)fileMode:=fileInfo.Mode()//fileMode.String()givesdturwxrwxrwxor-rwxrwxrwx//whichidonotwantbecausethesizeisnotalwaysthesameunixPerms:=fileMode&os.ModePerm对于这两种情况,我都得到了-rwxrwxrwx,这与我正在寻找的很接近。但是,返回的对象是os.FileMode类型。我怎样才能将它转换成string?

go - 如何将 os/exec 输出传递给 gin get

我想将操作系统命令的退出代码传递给URL。我正在使用Gin,但我对任何方式都持开放态度。我只想将错误传递给HTTP响应。到目前为止,我找不到将os输出放入HTTP响应示例的示例,所以我来到这里希望有人知道。packagemainimport("fmt""github.com/gin-gonic/gin""os/exec")funcHomepage(c*gin.Context){c.JSON(200,gin.H{"message":"HelloWorld"}}funcPowershell(c*gin.Context){//RunthispowershellprogramfromGo.cm

go - 我如何使用 Go 的 os/exec 库将错误消息输入到我的 Go 程序中?

我正在运行执行“psql”的代码。它应该返回一些错误代码,因为数据库未启动。它应该返回psql:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixdomainsocket"/tmp/.s.PGSQL.5432"?但是它返回标准错误2013/11/2115:06:19exitstatus2exitstatus1这是代码packagemainimport("fmt""log""os/exec")funcmain(){out,err:=exec.

python - 运行守护进程服务器或 shell 命令?

我需要验证电话号码,有一个非常好的python库可以执行此操作。然而,我的堆栈是Go,我真的不期待移植一个非常大的库。您认为通过从Go代码库中运行shell命令或通过运行我必须以某种方式与之通信的守护进程来使用python库会更好吗? 最佳答案 Python作为一种解释型语言,每次从命令行运行脚本时都需要系统加载解释器。还有在我的特定系统上,在磁盘缓存之后,系统需要20毫秒来执行带有importstring的脚本(这对于您的用例来说是合理的)。如果您正在处理大量信息,并且不能一次提交所有信息,您应该考虑设置一个守护进程来避免这种开销

bash - os.exec.Command 和 pbcopy

我正在尝试执行bash命令"helloworld"|/usr/bin/pbcopy里面Go:packagemainimport("fmt""os/exec""strings")funcCmd(cmdstring){fmt.Println("commandis",cmd)parts:=strings.Fields(cmd)head:=parts[0]parts=parts[1:len(parts)]out,err:=exec.Command(head,parts...).Output()iferr!=nil{fmt.Printf("%s",err)}fmt.Println("out")f

shell - 流式操作系统/exec.Command

我想构建一个类似于unix工具time的基准测试工具。我目前拥有的是:packagemainimport("fmt""os""os/exec""time")funcmain(){command:=os.Args[1]args:=os.Args[2:]cmd:=exec.Command(command,args...)start_time:=time.Now().UnixNano()stdout,err:=cmd.Output()iferr!=nil{println(err.Error())return}print(string(stdout))total_time:=int64(tim

google-app-engine - os.Open 在 AppEngine 上使用 Go

我最近开始尝试使用AppEngine,但在打开文件时遇到问题。这是我正在使用的代码:if_,err:=os.Open("/pizza.webp");err!=nil{printError(err.Error())}这给了我错误:open/pizza.webp:operationnotpermitted我试过使用.png来代替,结果相同。我也尝试过不使用斜线和在斜线前加一个点,两者都导致错误nosuchfileordirectory所以我猜我的路径是正确的,但出于某种原因我不知道没有访问它的权限,也许我需要在app.yaml中写一些东西?现在app.yaml看起来像这样:applicat

go - 来自 os.Stat/Lstat 的目录大小

假设我在目录上执行os.Stat():funcmain(){fi,_:=os.Stat("/tmp")println(fi.Size())}//548//Programexited.https://play.golang.org/p/NIzGMHRYfi[FileInfo].Size()值究竟代表什么?这不是文件大小,所以我猜是文件数量之类的东西?inode?我在任何地方都找不到明确的答案,所以也许有人可以启发我? 最佳答案 FileInfo提及//lengthinbytesforregularfiles;system-depend