Go使用exec.Command()执行脚本报错:file or directory not found问题
作者:管道修理工
在Go中使用exec.Command执行脚本时,遇到未找到脚本的问题,本文详细解析了可能原因由及解决方法,包括路径问题、文档格式错误等关键点,帮助开发者有效排查和修复bug
Go使用exec.Command()执行脚本报错
使用 Go 提供的 exec.Command() 执行脚本时出现了未找到脚本的 bug
三个排查思路
- exec.Command(execName, args…) 脚本名字不允许相对路径
- exec.Command(execName, args…) execName 只能有脚本名,不允许出现参数
如果你是使用 Windows 写的脚本然后将其上传到 Linux 再执行
在 linux 中使用 vim 编辑脚本
// 输入 :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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
