背景:go exec.Command
以前从未遇到过err报错255的,这次算是踩了一次坑。
目录
各个报错对应的实际场景及解决
相关问题解决方案:
exec.Command避险之道(执行命令卡住、exit status xxx
go exec.Command执行报错exit status 1
迷你的exec.Command报错exit status 2, Text file busy
分析
出现这种情况,可将命令本身组装起来在环境上直接执行(用和代码中完全一样的参数),用$?查看结果状态看是否是255.
这时候可惊奇的发现实际上是脚本自身原因,和特殊执行背景有关;
即所执行的脚本基于某个执行结果时将255作为了状态码,这时候err也会不为空,但实际上对于这条命令执行来说是正常的,忽略即可。
对于作者遇到的背景就是这样的,执行后实际上所得结果就是空字符串,只是脚本返回了255这个状态而已,此时屏蔽掉255特殊处理就好。