gpt4 book ai didi

linux - 无法使用 golang 执行 sh 脚本 - 权限被拒绝

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:28 33 4
gpt4 key购买 nike

我试图让我的 go 程序执行我的 Linux (ubuntu) 系统中的脚本文件 (.sh),但每次我收到以下错误时:

Got command status: fork/exec /home/myname/Code/MyProj/Server/src/: permission denied

我尝试运行的脚本非常简单:

临时文件:

echo tempscript:$1

temp.sh 权限:

-rwxrwxrwx 1 myname myname 19 oct 13 13:33 temp.sh

我用来运行脚本的 golang 代码:

output, err := exec.Command("/home/myname/MyProj/Server/src/", "temp.sh").CombinedOutput()
if err != nil {
fmt.Println("Error when running command. Output:")
fmt.Println(string(output))
fmt.Printf("Got command status: %s\n", err.Error())
}
fmt.Println(string(output))

我从终端运行这个脚本没有问题,但是当我试图从我的 go 问题运行它时,我遇到了权限问题,即使我试图用 sudo 去构建和运行我的程序许可我仍然收到该错误。很高兴听到我做错了什么以及如何解决。

非常感谢

最佳答案

像这样替换代码,

output, err := exec.Command("/bin/bash", "/home/myname/MyProj/Server/src/temp.sh").CombinedOutput()

关于linux - 无法使用 golang 执行 sh 脚本 - 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46729183/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com