Agregar #! algo no mira la RUTA

Agregar #! algo no mira la RUTA

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, $PATHla construcción más utilizada es #!/usr/bin/env<intérprete>, por ejemplo

#!/usr/bin/env perl

buscará perlen $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.

información relacionada