Blog del Podcast
podcast      GitHub      Twitter   Telegram

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

Tiempo estimado de lectura: 2 minutos. 325 palabras. 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á.

Bash=no 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, =env=es 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 ** #!/usr/bin/env python o perl = #!/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 sábado 20 noviembre del 2021



También te puede interesar:




Powered by org-bash-blog

Writing in orgmode whith emacs

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