Blog del Podcast
podcast    GitHub    Twitter  Telegram

¿#!/usr/bin/env bash o #!/bin/bash?

Al iniciar un script, tenemos que poner el shebang, representado por #!. Al ejecutar el script, nuestro sistema operativo leerá shebang y ejecutará el lenguaje de programación que se especifica allí y la ruta en que está.

Bashno siempre está en /bin, sobretodo en sistemas que no son Linux como por ejemplo OpenBSD, que en este caso está situado en /usr/local/bin, ya que está instalado como paquete opcional.

Si estas totalmente seguro que bash está en la ruta que especificas, no hay ningún problema, pero si quieres que tu script sea más universal, te permita ejecutar distintas versiones de bash o simplemente, evitar problemas, enves mejor opción.

#!/usr/bin/env bash buscará la ruta donde esté bash para ejecutar el script. Del mismo modo, en otros leguajes de programación como python, sucede igual 14perl = #!/usr/bin/env perl =

Si escribes en tu shell env, mostrará todas las variables de entorno.

#!/usr/bin/env siempre está situado en la misma ruta en todos los sistemas operativos.

 

OS env path
OpenBSD /usr/bin/env
FreeBSD /usr/bin/env
Debian /usr/bin/env
Ubuntu /usr/bin/env
CentOS /usr/bin/env
macOS /usr/bin/env
SUSE /usr/bin/env
RHEL /usr/bin/env
NetBSD /usr/bin/env
Solaris /usr/bin/env

 

Publicado por Angel el Saturday 20 November del 2021

También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.