执行shell脚本报 exit status 126

本是古典 何须时尚 2022-04-08 13:57 422阅读 0赞

由于工作所需,需要在golang中调用shell文件,在gg上搜索了一些,都实验了一下,发现以下方法比较适合,首先,执行shell命令是没有任何问题的。

修改为shell脚本文件,报错:cmd.Output: exit status 126 状态码。

  1. package main
  2. import (
  3. "fmt"
  4. "os/exec"
  5. )
  6. func main() {
  7. cmd := exec.Command("/bin/sh", "-c","./reset.sh")
  8. bytes, err := cmd.Output()
  9. if err != nil {
  10. fmt.Println("cmd.Output: ", err)
  11. return
  12. }
  13. fmt.Println(string(bytes))
  14. }

原因:所执行的reset.sh脚本权限不足,给sh赋予相应的执行权限:chmod +x reset.sh

发表评论

表情:
评论列表 (有 0 条评论,422人围观)

还没有评论,来说两句吧...

相关阅读

    相关 shell本报错后退出执行

    在做devops或者持续集成、持续交付时,有时候会写shell脚本。 但是在shell脚本顺序执行过程中,可能会有中间环节会出错报错,此时仍然会继续往下执行。 那如何避免此