Вопрос Выполнение скрипта из командной оболочки


Lubuntu Raring Ringtail. Я хочу иметь возможность выполнять мои скрипты с помощью ./

Я запускаю свой скрипт python с помощью #!/usr/bin/python и это говорит

bash : ./myscript.py: /usr/bin/python^M: bad interpreter: No such file or directory

Если я использую #!/usr/bin/env python он дает аналогичную ошибку:

: No such file or directory

Что я делаю не так?

У меня абсолютно установлен python, и вы можете запускать скрипты как обычно с помощью python myscript.py


1
2017-08-16 04:18


происхождения


Вы взглянули на этот вопрос: stackoverflow.com/questions/9975011/... ? - Isaiah


ответы:


Из ^M вы можете видеть, что файл myscript.py использует разрывы строк в стиле Windows / dos (Windows использует CR LF (возврат каретки + линия) в конце строки. Unix использует только LF - так что вы видите как ^M является CR. Итак, что вы не используете /usr/bin/python но /usr/bin/python<CR> что не существует.

Вы можете удалить ^M с помощью dos2unix (сделать sudo apt-get install dos2unix для установки и использования dos2unix myscript.py).


7
2017-08-16 04:54