Почему ./file.py работал, но bash file.py не работает?
Когда я запускаю bash file.py или . file.py или source file.py получить ошибку, как это:
file.py: line 4: syntax error near unexpected .....
Но ./file.py отлично работает.

file.py
#!/usr/bin/python3.4 if __name__ == "__main__": print("something")

1 ответ1

4

При запуске скрипта (как команды) он смотрит на хэш-удар (#!) знать, что использовать для запуска скрипта. В вашем сценарии я уверен, что он начинается с #!/usr/bin/python или аналогичный. Когда вы запускаете его как ./script.py , он читает эту первую строку и тайно выполняет /usr/bin/python ./script.py .

Если вы добавите его с помощью bash ./script.py , он ожидает, что интерпретатором будет Bash, а не Python.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .