Я пытаюсь сделать скрипт Python исполняемым, добавив следующую «shebang» в первую строку:
#!/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).