/usr/bin/env python é executado no cmdline, falha em #! linha

/usr/bin/env python é executado no cmdline, falha em #! linha

Estou tentando tornar um script python executável, adicionando a seguinte primeira linha "shebang":

#!/usr/bin/env python

mas quando executo o arquivo, recebo:

$ myscript.py
: No such file or directory

Agora, se eu tentar a envlinha diretamente, ela funciona:

]$ /usr/bin/env python
Python 2.6 (r26:66714, May  5 2010, 14:02:39)
etc. etc.

Por que a mesma linha falha dentro do arquivo, mas funciona fora dele?

Responder1

Você provavelmente tem um caractere inválido em algum lugar da sua linha shebang. Como foi você quem o inseriu, provavelmente é um retorno de carro, ou seja, sua linha termina com uma nova linha e um retorno de carro (ou vice-versa) - no estilo ODS de quebra de linha.

Tente usar dos2unixseu arquivo de script para converter todas as quebras de linha em apenas 0x10(estilo UNIX).

informação relacionada