- Shebang
-
Shebang es, en la jerga de Unix, el nombre que recibe el par de caracteres #! que se encuentran al inicio de los programas ejecutables interpretados. A continuación de estos caracteres se indica la ruta completa al intérprete de las órdenes contenidas en el mismo (el SheBang más habitual suele ser "#!/bin/bash", que es una llamada al intérprete de comandos Bash). Este método estándar,[1] permite que el usuario pueda ejecutar un programa interpretado igual a como ejecutaría un programa binario.
Cuando no se conoce la ruta absoluta del mismo, es posible utilizar el programa auxiliar env,[2] que generalmente suele estar en /usr/bin.[3] Éste es un método muy usado para scripts donde el intérprete no tiene la misma ruta en todos los sistemas (por ejemplo, el SheBang usado generalmente para python es "#!/usr/bin/env python", que es una llamada a env).
Sirve también para identificar el formato de fichero a modo de Número Mágico.
En algunos sistemas es posible especificar en el shebang hasta un único parámetro después del nombre del programa a ejecutar, linux por ejemplo, mientras que en otros como por ejemplo Mac OS X es posible especificar varios, al separarlos por espacios.[3]
Este parámetro es necesario en algunos casos, como en scripts hechos AWK, ya que para indicar cuál es el script que tiene que cargar, se utiliza el parámetro -f.
Ejemplo
Al crear un archivo de texto con permisos de ejecución llamado programa, con el siguiente contenido:
#!/usr/bin/awk -f BEGIN { print "parámetros:" for (i = 1; i < ARGC; i++) print " " i ": " ARGV[i] }
Cuando se ejecute: ./programa argumento1 argumento2, el sistema operativo, tras leer la línea del shebang, procederá de hecho a ejecutar: /usr/bin/awk -f ./programa argumento1 argumento2. Obteniéndose como resultado:
parámetros: 1: argumento1 2: argumento2
Referencias
- ↑ The Open Group. «Base WG Resolution - #! executable scripts» (en inglés). Consultado el 28 de noviembre de 2010.
- ↑ The IEEE and The Open Group. «Especificación de env» (en inglés). Consultado el 28 de noviembre de 2010.
- ↑ a b Sven Mascheck. «The #! magic, details about the shebang» (en inglés). Consultado el 28 de noviembre de 2010.
Enlaces externos
- #! - the Unix truth as far as I know it (en inglés) (un enfoque más genérico).
Wikimedia foundation. 2010.