Ketika saya menggunakan shebang #!/usr/bin/env python
untuk menjalankan skrip, bagaimana sistem mengetahui python
. mana menggunakan? jika saya mencari python
bin path di variabel lingkungan saya tidak menemukan apa-apa.
env | grep -i python
Jawaban yang Diterima:
Shebang mengharapkan path lengkap ke penerjemah untuk digunakan sehingga sintaks berikut akan salah:
#!python
Menyetel jalur lengkap seperti ini mungkin berhasil:
#!/usr/local/bin/python
tetapi tidak portabel karena python mungkin dipasang di /bin
, /opt/python/bin
, atau di mana pun lokasi lainnya.
Menggunakan env
#!/usr/bin/env python
adalah metode yang memungkinkan cara portabel untuk menentukan ke OS jalur lengkap yang setara dengan jalur di mana python
pertama terletak di PATH
.