Я пытаюсь запустить сценарии Python с помощью shebang на Ubuntu. Когда я создаю скрипт на Python
#! /usr/bin/env python
import sys
... и запустите его, я получаю ошибку оболочки:
root@host:/home/user# ./test.py
: No such file or directory
Как заставить его работать?
Решение: Удалите символы '\ r из окончаний строк с помощью dos2unix.
Я предполагаю, что сценарий исполняемый? Также проверьте возврат каретки - может быть, окна попали в его грязные ручонки? Вы можете проверить это с помощью 'cat -vE test.py' и найти '\ r'.
У вас, вероятно, есть окончания строк Windows в вашем файле. Пожалуйста, попробуйте запустить dos2unix в теме.
Попробуйте удалить пробел между #! и / usr / bin / env, хотя я не понимаю, почему это сработает, если не импортировать пакеты ...
Ты конечно что ошибка происходит по той причине, по которой вы думаете? Или вы (позже в сценарии) пытаетесь открыть файл? Начните с простейшего случая, чтобы все заработало ...
hello.py:
#!/usr/bin/env python
print "Hello, world"
затем...
$ chmod +x hello.py
$ ./hello.py
Hello, world
$
Используйте нижний вкладыш, чтобы удалить символы новой строки.
perl -e 's / \ r // g' -w -p -i test.py
или
sed -e "s / ^ M //" test.py> test_new.py