Wenn wir ein Skript wie python script.py
ausführen, rufen wir tatsächlich den Python-Interpreter auf, der im Allgemeinen bei /usr/bin/python
liegt (Die Ausgabe von which python
wird Ihnen sagen, wo genau).
Der Interpreter liest seinerseits die Skripte und führt seinen Code aus. Es ist der Interpreter, der die Ausführungsberechtigung hat.
Wenn ein Skript als ./script.py
ausgeführt wird, wird das Skript direkt ausgeführt und das Skript erfordert Ausführungsberechtigung. Der verwendete Interpreter wird in der Shebang-Zeile angegeben.
Wenn der Kernel feststellt, dass die ersten beiden Bytes #!
sind, verwendet er den Rest der Zeile als Interpreter und übergibt die Datei als Argument. Beachten Sie, dass die Datei dafür ausführbar sein muss. Im ersteren Fall werden wir indirekt zu tun, was der Kern zu tun hatte würden wir das Skript als ./script.py
Kurz für die Ausführung von method1 der Dolmetscher lesen muss nur die Erlaubnis ausgeführt, sondern für später muss er es ausführen direkt
Um zu erfahren, mehr darüber, wie das funktioniert, suchen Sie nach Unix Shebangs https://en.wikipedia.org/wiki/Shebang_%28Unix%29 – xvan