出于某种原因,我的一个脚本中的shebang不起作用:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print "Hello World"
Run Code Online (Sandbox Code Playgroud)
当我执行此文件时,出现错误
% ./test.py
./test.py: 1: #!/usr/bin/env: not found
Run Code Online (Sandbox Code Playgroud)
有一个与我的内容没有问题的/usr/bin/目录:既env和python在那里,用正确的执行权.
问题的原因是我的文件是使用带有BOM(字节顺序标记)的UTF8编码的。
删除BOM,即使用不带BOM的UTF8编码文件即可解决此问题。
注意:对于Notepad ++用户,在编辑器中也(奇怪地)将“没有BOM的UTF8”称为“ ANSI作为UTF-8”。