Un shell proporciona una interfaz para conectarse con el sistema. Cuando usamos un sistema operativo, interactuamos indirectamente con el shell. Mientras usamos una terminal cada vez en cualquier sistema de distribución de Linux, interactuamos con el shell. La función principal del shell es interpretar o analizar los comandos de Unix. Un shell toma los comandos del usuario y los traduce a la forma comprensible del núcleo. En otras palabras, actúa como un medio entre el usuario y el núcleo del sistema operativo. El núcleo es un programa de computadora que se considera como la parte principal del sistema operativo de una computadora.
Este artículo se centra en la importancia de #!/bin/bash en la parte superior de un script.
Importancia de #!/bin/bash:
Esto se conoce como shebang en Unix. Shebang es una colección de caracteres o letras que consisten en un signo de número y un signo de exclamación, es decir (¡#!) al comienzo de un guión. Como se discutió en la parte de introducción, la función principal de un shell es interpretar los comandos UNIX dados por el usuario. Unix consta de numerosos shells, de los cuales bash es uno de los más utilizados. Es el shell predeterminado asignado por los sistemas operativos basados en Linux.
Un script consta de varios comandos UNIX. Ahora, en cada uno de los scripts, los usuarios deben especificar explícitamente el tipo de shell que desean usar para ejecutar sus scripts. Ahora, para especificar explícitamente el tipo de shell utilizado por el script, se utiliza Shebang. Entonces podemos usar shebang, es decir, #!/bin/bash al principio o al principio del script para indicarle a nuestro sistema que use bash como shell predeterminado.
Considerémoslo con la ayuda de un ejemplo. Un script no es más que varios comandos. En el siguiente ejemplo, la primera línea del script comienza con un hash (#) y un signo de exclamación (!). Básicamente, le indica al sistema operativo que use Bash como shell predeterminado para ejecutar el script. En la segunda línea, estamos imprimiendo «¡Hola mundo!» a la consola
Ejemplo:
// Using shebang to specify the OS to // use bash shell // myScript.sh #!/bin/bash # Bash script echo "Hello World!"
Producción:
Diferencia entre #!/bin/bash y #!/bin/sh:
El shebang, #!/bin/bash cuando se usa en scripts se usa para indicarle al sistema operativo que use bash como intérprete de comandos. Cada uno de los sistemas tiene sus propios shells que el sistema utilizará para ejecutar sus propios scripts del sistema. Este shell del sistema puede variar de un sistema operativo a otro (la mayoría de las veces será bash). Mientras que, cuando se usa el shebang, #!/bin/sh en las secuencias de comandos, se le indica al shell del sistema interno que comience a interpretar las secuencias de comandos.
A continuación se muestran algunos de los shebangs utilizados para diferentes propósitos en los scripts de shell:
- #!/bin/sh: Se usa para ejecutar el archivo usando sh, que es un shell Bourne, o un shell compatible
- #!/bin/csh: Se usa para ejecutar el archivo usando csh, el shell C o un shell compatible.
- #!/usr/bin/perl -T: Se utiliza para ejecutar usando Perl con la opción de controles de corrupción.
- #!/usr/bin/php: se utiliza para ejecutar el archivo mediante el intérprete de línea de comandos de PHP.
- #!/usr/bin/python -O: Se usa para ejecutar usando Python con optimizaciones al código.
- #!/usr/bin/ruby: Sirve para ejecutar usando Ruby.