Строка Sha-bang дает другой результат, чем вызов сценария вручную

1

У меня есть Python script script.py, который был определен как исполняемый файл и начинается со следующего ша-банга:

#!/usr/bin/env python -W all

Но когда я его вызываю из оболочки, это то, что я получаю:

$ ./script.py 
/usr/bin/env: python -W all: No such file or directory

Вызов его напрямую работает, хотя:

$ env python -W all script.py
... some good stuff happens here

Что я здесь делаю неправильно?

Теги:

1 ответ

5
Лучший ответ

На линии shebang вы получаете только один аргумент. Поэтому python -W all передается в env как один аргумент. В командной строке оболочка правильно анализирует аргументы перед вызовом env.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню