我试图通过添加以下“shebang”第一行来使 python 脚本可运行:
#!/usr/bin/env python
但是当我运行该文件时,我得到:
$ myscript.py
: No such file or directory
现在,如果我直接尝试该env
行,它就会起作用:
]$ /usr/bin/env python
Python 2.6 (r26:66714, May 5 2010, 14:02:39)
etc. etc.
为什么同一行在文件内失败,但在文件外成功?
答案1
您的 shebang 行中的某个位置可能有无效字符。由于您是插入它的人,因此它很可能是一个回车符,即您的行以换行符和回车符结束(或反之亦然) - 采用 ODS 风格的换行符。
尝试dos2unix
在脚本文件上使用将所有换行符转换为仅0x10
(UNIX 样式)。