Shebang Bash explicó con ejemplos

Shebang Bash explicó con ejemplos
Bash es un intérprete de lenguaje de comando. Muchos sistemas operativos incorporan BASH como intérprete de comando predeterminado, especialmente la mayoría de los sistemas GNU/Linux. Bash Scripting es un método para automatizar un conjunto de comandos que de otro modo se ejecutaría interactivamente uno por uno.

En esta guía, mira qué es Shebang Bash y cómo usarla.

SHEBANG BASH:

En Bash Scripting, Shebang es una forma de declarar qué intérprete utilizará el sistema operativo para analizar el resto del archivo. El shebang se caracteriza por el conjunto de personajes "#!" (sin comillas).

Aquí hay un desglose rápido de la Directiva del intérprete de Shebang.

#! [Argumentos]

Por ejemplo, si se va a analizar un script usando el shell de Bash, entonces la directiva del intérprete de shebang se vería así.

#!/bin/bash

La Directiva del intérprete de Shebang tiene ciertas propiedades.

  • Debe ser la primera línea del guión.
  • Debe comenzar con un shebang (#!).
  • Puede o no haber espacios en blanco después del shebang (#!).
  • El intérprete será la ruta completa de un archivo binario.
  • Puede o no haber argumentos de intérprete.

Aquí hay una lista de algunas de las directivas de intérprete de Shebang más comunes.

  • #!/bin/bash: el script se analizará usando intento.
  • #!/usr/bin/python: el script se analizará utilizando el pitón binario.
  • #!/usr/bin/env perl: el script se analizará utilizando el perl ejecutable. La ubicación del perl ejecutable será proporcionado por el envidia dominio.

Usando Shebang Bash:

Los guiones no pueden tener una fiesta de shebang. Cualquier script de este tipo se analizará utilizando el intérprete predeterminado. Por ejemplo, Bash es el intérprete predeterminado para Bash y SH para ZSH. Mientras que la mayoría de los sistemas UNIX/Linux tienen BASH como predeterminado, los usuarios tienen opciones para usar otros. En tal escenario, sin declarar al intérprete, el script no puede realizar su tarea preferida.

Existen dos métodos para usar la directiva shebang para declarar el intérprete. El primero es declarar la ruta del archivo al ejecutable.

#!/bin/bash

Otro método es usar el envidia utilidad para localizar el ejecutable.

#!/usr/bin/envash

El beneficio de usar la utilidad Env es que buscará el ejecutable bajo la variable de entorno de ruta $ del usuario actual. En este ejemplo, Env buscará la fiesta. Si hay más de un ejecutable de bash declarado en la variable de ruta $, entonces se usará el primero.

Como se mencionó, Shebang Bash también apoya los argumentos ejecutables. Por ejemplo, para usar Bash con el modo de depuración, la Directiva del intérprete de Shebang se vería así.

#!/bin/bash -x

Cuando se trata de usar envidia Para el shebang bash, agregar un argumento ejecutable requiere usar la opción "establecer". Por ejemplo, el siguiente usará bash con modo de depuración habilitado.

#!/usr/bin/envash
$ set -x

Ejemplo de script:

Hemos discutido los conceptos básicos de Shebang Bash. Es hora de ponerlo en práctica. Echemos un vistazo a la implementación de Shebang Bash.

Inicie el editor de texto de su elección y escriba el siguiente script:

ps!/bin/sh
$ echo "hello_world_bash"

Guarda el archivo. Para ejecutar el script, debe marcarse como un ejecutable. Ejecute el siguiente comando:

$ chmod +xx

Ejecute el guión:

ps .//

No es muy difícil, correcto? Ahora, intentemos usar las diferentes expresiones de shebang bash. Prueba los que se dan a continuación:

ps!/usr/bin/envash
$ set -x
$ echo "hello_world_bash_debug"

Anulación de la fiesta del shebang:

Si bien el shebang bash define el intérprete que usa, en ciertas situaciones, es posible que desee usar un intérprete diferente. Es posible anular el intérprete definido por el script especificando explícitamente el intérprete al shell.

Por ejemplo, eche un vistazo al siguiente script:

ps!/bin/sh
$ echo "hello_world_sh"

Por defecto, se ejecutaría usando mierda. Para ejecutarlo usando bash, use el siguiente método:

ps

Tenga en cuenta que para los casos de uso normales solo utilizan el valor predeterminado mierda o intento El intérprete es lo suficientemente bueno y la anulación no es relevante.

Pensamientos finales:

Shebang Bash es un concepto muy simple. Para las secuencias de comandos bash, es muy importante comprenderlo e implementarlo.

Interesado más en scripting bash? Mira esta guía para principiantes sobre cómo escribir un script bash simple.

Computación feliz!