#!/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?
#!/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?
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.
Etiketlerdeki diğer soruları oku command-line bash environment