使用 Go 提供的 exec.Command() 执行脚本时出现了未找到脚本的 bug,三个排查思路 :
-
exec.Command(execName, args...) 脚本名字不允许相对路径
-
exec.Command(execName, args...) execName 只能有脚本名,不允许出现参数
-
如果你是使用 Windows 写的脚本然后将其上传到 Linux 再执行,在 linux 中使用 vim 编辑脚本 :
bash// 输入 :set ff 查看文件的格式 :setff // 回车,如果出现的是 fileformat=dos fileformat=dos // 那么使用 :setff=unix 设置格式为unix, 或者使用 :set fileformat=unix :setff=unix :set fileformat=unix // 再次输入 :set ff 查看文件格式,如果显示 unix 则保存退出即可
重新执行脚本
我的bug是因为文档格式错误,在Linux中尝试之后发现了这个bug,那么肯定要在Linux中修改一下
-
goland 修改 :
-
notepad++修改 :编辑 -> 文档格式转换->unix