我有一个问题..每当我写任何Python脚本时都说这样
#!/usr/local/bin/python
print "hello"
然后使用
chmod +x a.py
然后写./a.py
然后它不会在终端中打印任何内容
此外,每当我在shabang行下面写任何评论时,它都会给我一个错误的说法
#: bad interpreter : No such file or directory
但是当我像这样python a.py
运行脚本时,它会照常工作..
有人可以告诉我错误以及如何解决这个问题。
答案 0 :(得分:6)
这几乎可以肯定是因为你的行结尾是一个回车/换行组合 - 这是Windows风格的编辑器会创建的。 Unix将LF视为行的末尾,因此它正在寻找名为"python\r"
的可执行文件。当您通过显式调用解释器来运行它时,shebang行只被视为注释。
答案 1 :(得分:0)
linux下文本替换修复:
sed -i 's/^ M//g' filename
(注意^M是linux写的,按^M是回车换行,输入法是按住CTRL+v,松开v,按m)
如果错误消息如下所示,这将解决第一行中 shell 的错误结束行:
/usr/bin/python3 ^M: bad interpreter: No such file or directory