Neden env'yi shebang'de kullanıyorsunuz?

19

#!/usr/bin/env <sh|bash|python> shebang öğesinin #!/bin/bash , #!/bin/sh veya #!/usr/bin/python ? ile karşılaştırılmasının amacı nedir?

    
sordu Tuminoid 24.01.2013 09:56

1 cevap

11

Bazı kişiler sistemden farklı bir python (perl, vb.) kullanabilir. /usr/bin/env python , geçerli olanı yapılandırılan sürümü çalıştırır ve muhtemelen betiği daha taşınabilir hale getirir.

Öte yandan, bildirilen bazı sistemlerde /usr/bin/env bulunmuyor. Ayrıca, #!/usr/bin/env foo x 'yi #!foo x ' nin yerine kullanamazsınız, çünkü foo x tek bir argüman olarak yorumlanır. Bu yüzden yaklaşımın değeri tartışmalıdır.

    
verilen cevap choroba 24.01.2013 09:59

Etiketlerdeki diğer soruları oku