En Linux, agregar #!/bin/bash le indica al ejecutable que se ejecute con bash.
Me preguntaba, ¿por qué se especifica esto en la ruta completa? Esperaría que, dado que bin está en una ruta especificada en PATH, lo encontraría simplemente agregando #!bash
Esto no es realmente un inconveniente, sólo una curiosidad. Gracias
Respuesta1
La forma en #!
que funciona es que debe ir seguido de la ruta completa del intérprete. Si desea buscar, $PATH
la construcción más utilizada es #!/usr/bin/env
<intérprete>, por ejemplo
#!/usr/bin/env perl
buscará perl
en $PATH
. Para obtener más información sobre por qué esto funciona, consulte la página del manual paraambientey elbuena discusiónbajo "¿Cómo sabe /usr/bin/env qué programa usar?" en este foro.