Adicionando #! algo não parece no PATH

0

No Linux, adicionando #! / bin / bash está dizendo ao executável para executar com o bash.

Eu estava pensando, por que isso é especificado no caminho completo? Eu esperaria que, uma vez que bin está em um caminho especificado no PATH, ele iria encontrá-lo apenas adicionando #! Bash

Isso não é realmente uma inconveniência, apenas curioso. Obrigado

    
por George Avgoustis 23.05.2017 / 15:19

1 resposta

1

A maneira como o #! funciona é que ele deve ser seguido pelo nome completo do caminho do interpretador. Se você quiser pesquisar $PATH , a construção comumente usada é #!/usr/bin/env < interpretador & gt ;, por exemplo

#!/usr/bin/env perl

procurará perl em $PATH . Para mais informações sobre por que isso funciona, consulte a página de manual para env e o < href="https://unix.stackexchange.com/questions/12736/how-does-usr-bin-env-know-which-program-to-use/12751#12751"> boa discussão em " Como o / usr / bin / env sabe qual programa usar? "neste fórum.

    
por 27.05.2017 / 22:59

Tags