Muitas vezes, vejo scripts começarem com uma linha shebang usada #!/usr/bin/env interpreter_name
para qualquer intérprete, com a lógica de que sistemas diferentes podem ter o intérprete de que precisam para serem instalados em locais diferentes. Por exemplo, se eu assumir que python
está instalado como /usr/bin/python
um usuário que decidiu instalá-lo /opt/python
por algum motivo, não será capaz de usá-lo tão facilmente.
Mas a pergunta óbvia é: existe alguma garantia que env
será instalada em /usr/bin/env
(ou nesse local em particular), ou será apenas um caso de "mudar o problema", por assim dizer?
Esta questão um pouco relacionada tem um comentário que diz que é uma péssima idéia e é preferível instalá-la com o caminho real do intérprete e cita a especificação unix única, mas realmente não trata dessa questão.
python
perl
etc, agora você só precisa caçarenv
, o mesmo problema, mas um alvo diferente. Parece queenv
é muito mais fácil encontrar, e obviamente muito mais versátil, por isso ainda é muito favorável. O que responde perfeitamente à minha pergunta. Obrigado!