Saya masuk sebagai "pengguna saya" yang juga merupakan administrator komputer. Saya memiliki file di mana saya memiliki hak-hak berikut:
-r--r--r-- 1 myuser staff 167 17 Feb 14:26 my_python.py
Namun, saat saya mengetik python my_python.py
pada baris perintah, saya masih bisa menjalankan file. Apakah saya tidak perlu mengeksekusi (x) hak untuk melakukan itu ?!
Satu-satunya cara saya tidak dapat menjalankan file adalah ketika saya mengubah hak untuk:
---------- 1 myuser staff 167 17 Feb 14:26 my_python.py
./my_python.py
?./
hanya berarti saya di folder lain untuk menjalankan file ini .../
ke jalur ke file py Anda. Ketika Anda membuatnya dieksekusichmod +x
Anda tidak perlu mengeksekusipython
karena itu akan dijalankan secara otomatis dari#!/usr/bin/python
garis ( en.wikipedia.org/wiki/Shebang_(Unix) )rw
hak atas a.py
file dan saya jalankan sepertipython whatever.py
Saya bisa. Tapi, ketika saya mencoba lari./python whaterever.py
itu tidak? Mengapa saya membutuhkannya?x
hak untuk menjalankan itu ?!python
tidak terletak di direktori saat ini (mungkin dalam/usr/bin/python
). Jika Anda mengaturx
pada file itu dapat dijalankan tanpa meluncurkanpython
pertama (tidak harus diteruskan ke python executable). Jadi saat file sudahx
Anda cukup menjalankannya dengan/path/to/file.py
atau jika dalam direktori saat ini dengan./file.py
(ingat tentang shebang)../
berarticurrent working directory
. Begitu,./python whatever.py
memberitahu shell untuk mencaripython
adalahcurrent working directory
. Saya sarankan Anda membacaman execve
untuk memahami apa yang dibicarakan Mateusz Szolsek.