Spesso vedrò gli script iniziare con una riga shebang che utilizza #!/usr/bin/env interpreter_name
per qualsiasi interprete, con la logica che diversi sistemi potrebbero avere l'interprete di cui hanno bisogno per funzionare installati in luoghi diversi. Ad esempio, se suppongo che python
sia installato come /usr/bin/python
allora alcuni utenti che hanno deciso di installarlo come /opt/python
per qualche motivo non saranno in grado di usarlo così facilmente.
Ma la domanda ovvia è: esiste una garanzia che env
verrà installata in /usr/bin/env
(o per quella parte in un determinato posto), o è solo un caso di "spostare il problema" per così dire?
Questa domanda leggermente correlata ha un commento che dice che è una cattiva idea ed è preferibile installarlo con il percorso effettivo dell'interprete e cita la singola specifica unix, ma in realtà non affronta questa domanda.
python
perl
ecc., Ora devi solo dare la cacciaenv
, quindi lo stesso problema, ma un obiettivo diverso. Sembra cheenv
sia molto più facile da trovare, e ovviamente molto più versatile, quindi è ancora molto favorevole. Che risponde perfettamente alla mia domanda. Grazie!