Seringkali saya akan melihat skrip dimulai dengan garis shebang yang digunakan #!/usr/bin/env interpreter_name
untuk penerjemah apa pun, dengan alasan bahwa sistem yang berbeda mungkin memiliki penerjemah yang mereka butuhkan untuk menjalankan diinstal di tempat yang berbeda. Sebagai contoh, jika saya menganggap python
diinstal sebagai /usr/bin/python
maka beberapa pengguna yang memutuskan untuk menginstalnya /opt/python
karena alasan tertentu tidak akan dapat menggunakannya dengan mudah.
Tetapi pertanyaan yang jelas adalah, apakah ada jaminan yang env
akan dipasang di /usr/bin/env
(atau dalam hal ini tempat tertentu), atau apakah ini hanya kasus "memindahkan masalah"?
Pertanyaan yang sedikit terkait ini memiliki komentar yang mengatakan itu adalah ide yang buruk dan lebih baik untuk menginstalnya dengan jalur penerjemah yang sebenarnya dan mengutip spesifikasi unix tunggal tetapi tidak benar-benar menjawab pertanyaan ini.
python
perl
dll, Anda sekarang hanya harus memburuenv
, jadi masalah yang sama, tetapi target yang berbeda. Tampaknya ituenv
jauh lebih mudah ditemukan, dan jelas jauh lebih fleksibel, sehingga masih sangat menguntungkan. Yang menjawab pertanyaan saya dengan sempurna. Terima kasih!