Adding a shebang causes No such file or directory

2020-05-20 02:16发布

问题:

I'm trying to run a python script. It works fine when I run it:

python2.5 myscript.py inpt0

The problem starts when I add a shebang:

#!/usr/bin/env python2.5

Result in:

$ myscript.py inpt0
: No such file or directory

Try 2:

#!/usr/local/bin/python2.5

Result in:

$ myscript.py inpt0
: bad interpreter: No such file or directoryon2.5

When I run them directly in the terminal they both work just fine:

$ /usr/local/bin/python2.5
Python 2.5.4 (r254:67916, Feb  9 2009, 12:50:32)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

$ /usr/bin/env python2.5
Python 2.5.4 (r254:67916, Feb  9 2009, 12:50:32)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Any hints on how to make this work with shebang?

回答1:

I had similar problems and it turned out to be problem with line-endings. You use windows/linux/mac line endings?

Edit: forgot the script name, but as OP says, it's dos2unix <filename>



标签: python shell