porque './file.py' estava funcionando mas 'bash file.py' não funciona?

0

Por que ./file.py estava funcionando, mas bash file.py não funciona?
Quando eu executo bash file.py ou . file.py ou source file.py obtenho um erro assim:
file.py: line 4: syntax error near unexpected .....
Mas ./file.py funciona bem.

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

    
por mlibre 06.08.2015 / 22:21

1 resposta

4

Ao iniciar um script (como um comando), ele verifica o hash-bang ( #! ) para saber o que usar para iniciar o script. No seu script, aposto que começa com #!/usr/bin/python ou similar. Quando você inicia como ./script.py , lê a primeira linha e executa /usr/bin/python ./script.py secretamente.

Se você o preceder usando bash ./script.py , ele espera que o interpretador seja Bash, não Python.

    
por 06.08.2015 / 22:35