Adicionar #!alguma coisa não olha para PATH

Adicionar #!alguma coisa não olha para PATH

No Linux, adicionar #!/bin/bash indica ao executável para executar com o bash.

Eu queria saber, por que isso está especificado no caminho completo? Eu esperaria que, como bin está em um caminho especificado em PATH, ele o encontrasse apenas adicionando #!bash

Isso não é realmente um inconveniente, apenas curioso. Obrigado

Responder1

A forma como #!funciona é que deve ser seguido pelo caminho completo do intérprete. Se você quiser pesquisar $PATHa construção comumente usada é #!/usr/bin/env<interpreter>, por exemplo

#!/usr/bin/env perl

procurará perlem $PATH. Para obter mais informações sobre por que isso funciona, consulte a página de manual doambientee aboa discussãosob "Como /usr/bin/env sabe qual programa usar?" neste fórum.

informação relacionada