Perché usare env in shebang?

19

Qual è lo scopo dell'utilizzo di #!/usr/bin/env <sh|bash|python> shebang rispetto a #!/bin/bash , #!/bin/sh o #!/usr/bin/python ?

    
posta Tuminoid 24.01.2013 - 09:56

1 risposta

11

Alcune persone potrebbero usare un diverso python (perl, ecc.) rispetto a quello di sistema. /usr/bin/env python eseguirà la versione configurata come quella corrente, rendendo forse lo script più portabile.

D'altra parte, a quanto si dice, alcuni sistemi non hanno /usr/bin/env . Inoltre, non puoi utilizzare #!/usr/bin/env foo x come sostituto di #!foo x , perché foo x verrà interpretato come un singolo argomento. Quindi il valore dell'approccio è discutibile.

    
risposta data choroba 24.01.2013 - 09:59

Leggi altre domande sui tag