BOM头导致shell执行失败
症状
调用shell时失败,提示未找到命令,如下图所示:
排查过程
通过xxd可以看到文件头有不可见的字符
xxd a.sh
00000000: efbb bf63 6420 2f74 6d70 0d0a 6563 686f ...cd /tmp..echo 00000010: 2022 574f 524b 5322 0d0a "WORKS"..
同时用 file
命令能看出 a.sh
是一个带BOM报文头的文本文件
file a.sh
a.sh: UTF-8 Unicode (with BOM) text, with CRLF line terminators
去掉报文头后,顺利执行