Shell Scripting - Introduction & Shebang
Tabla de contenido:
- Directiva de intérpretes de Shebang
- Usando Shebang en secuencias de comandos Bash
- Script de ejemplo
- Anulando el Shebang
- Conclusión
Esta secuencia de caracteres (
#!
) Se llama shebang y se usa para indicarle al sistema operativo qué intérprete usar para analizar el resto del archivo.
Directiva de intérpretes de Shebang
La directiva del intérprete Shebang toma la siguiente forma:
#!interpreter
- La directiva debe ser la primera línea del script. ¡La directiva debe comenzar con shebang
#!El espacio en blanco después de los caracteres shebang es opcional. El intérprete es la ruta completa a un archivo binario (por ejemplo:/bin/sh,/bin/bash). Los argumentos de interpretación son opcionales.
Ejemplos:
-
#!/bin/bash: utilizabashpara analizar el archivo.#!/usr/bin/env perl: utiliza el comandoenvpara encontrar la ruta al ejecutableperl.#!/usr/bin/pythonEjecuta el archivo usando el binario depython.
Usando Shebang en secuencias de comandos Bash
Si no se especifica un shebang y el usuario que ejecuta el script Bash está utilizando otro Shell, el script será analizado por el intérprete predeterminado que ese Shell utilice. Por ejemplo, el intérprete predeterminado para
bash
es
bash
y para
zsh
es
sh
. Para asegurarse de que su script siempre se interpretará con Bash, deberá especificar la ruta ejecutable mediante shebang.
Hay dos formas de usar la directiva Shebang y configurar el intérprete.
-
Usando la ruta absoluta al binario bash:
#!/bin/bashUsando la utilidad
env:#!/usr/bin/env bash
La ventaja de usar el segundo enfoque es que buscará el ejecutable
bash
en la
$PATH
entorno
$PATH
del usuario. Si hay más de una ruta a
bash
, la primera será utilizada por el script.
Cuando use la primera opción para agregar una opción al suministro del shell Bash, páselo al intérprete. Por ejemplo, para ejecutar el script en modo de depuración, usaría
#!/bin/bash -x
. Si está utilizando el método
env
, debe usar
set
para declarar la opción. Para habilitar el modo de depuración, debe agregar
set -x
después de la línea shebang.
Script de ejemplo
Creemos un script simple usando shebang que imprima "Hello, World". Abra su editor de texto y pegue la siguiente línea:
nano hello_world
Hola Mundo
#!/bin/bash echo "Hello, World"
Para poder ejecutar el script sin especificar el intérprete desde la línea de comandos, deberá hacer que el archivo sea ejecutable:
chmod +x hello_world
Ahora, si puede ejecutar el script escribiendo
./
seguido del nombre del script:
./hello_world
Anulando el Shebang
Si por alguna razón desea anular el conjunto de intérpretes en la línea Shebang, debe ejecutar el script especificando explícitamente el shell deseado.
Por ejemplo, para ejecutar un script que tenga
#!/bin/sh
especificado en la línea Shebang utilizando el shell
bash
, escriba:
bash hello_world
Tenga en cuenta que no es una buena idea anular el intérprete de shell, ya que puede provocar un comportamiento inesperado del script.
Conclusión
A estas alturas ya debe tener una buena comprensión de qué es Shebang y cómo usarlo en sus scripts de Bash.
terminal de bashMicrosoft Research Asia recibe a Gates en 10 años Bash
Microsoft Research Asia creció de una docena de personas en 1998 a más de 350 una década después.
Cómo ejecutar Bash en Ubuntu en Windows 10
Habilitar el subsistema Windows para Linux le permitirá ejecutar Bash en Ubuntu en Windows 10, scripts Bash , Herramientas de línea de comandos de Linux, herramientas para Linux.
Bash arrays
Las matrices son una de las estructuras de datos fundamentales más utilizadas. En este artículo, cubriremos las matrices de Bash y explicaremos cómo usarlas en sus scripts de Bash.







