暗无天日

=============>DarkSun的个人博客

BOM头导致shell执行失败

症状

调用shell时失败,提示未找到命令,如下图所示: BOM_1544232847.png

排查过程

通过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

去掉报文头后,顺利执行