GNU/Linux >> Belajar Linux >  >> Linux

Python – Bagaimana /usr/bin/env Mengetahui Program Yang Digunakan?

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 .


Linux
  1. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  2. Bagaimana /usr/bin/time mengukur penggunaan memori?

  3. Bagaimana cara membuat perintah python3 menjalankan Python 3.6, bukan 3.5?

  1. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  2. Apa arti dari /usr/sbin, /usr/local/sbin dan /usr/local/bin?

  3. Kapan saya harus menggunakan #!/bin/bash dan kapan #!/bin/sh?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Mengapa Lebih Baik Menggunakan "#!/usr/bin/env Name" Daripada "#!/path/to/name" Sebagai Shebang?

  3. /usr/bin Vs /usr/local/bin Di Linux?