Mostrando entradas con la etiqueta Bash Shell. Mostrar todas las entradas
Mostrando entradas con la etiqueta Bash Shell. Mostrar todas las entradas

Qué significa #!/bin/bash al comienzo de un archivo Bash Shell

Es posible que hayamos descargado un script de Bash, para por ejemplo, descargar e instalar alguna aplicación o realizar ciertas tareas en nuestra distribución Linux.
En algunos caso nos podemos encontrar que si editamos el ejecutable con nuestro procesador de texto, nos encontremos que en la primera línea aparezca algo parecido a:

#!/bin/bash
#!/usr/bin/env python3

#!/bin/sh

Es un  Shebang. En esta línea indicaremos la ruta completa del intérprete de órdenes, para que este sea localizado independientemente de donde sea ejecutado nuestro script. 

Con este comando el programador se asegura que al interpretar los comandos siguientes sean ejecutados correctamente y no se detenga, por que no sabe donde se encuentran. 

Ejemplo de script Bash para la instalación y configuración de Pi-Hole

Script instalación y configuración de la aplicación Pi-Hole


 

Que es un Bash Shell

Bash Shell Es un archivo de procesamiento por lotes, que por lo general es un archivo de texto plano. Es útil e interactivo entre el usuario y el sistema operativo. El ejecutable resultante no ha de ser compilado y por la tanto es legible por el usuario, y puede ser modificado, siempre y cuando tenga permisos habilitados sobre el archivo.

Esto aporta algunas ventajas:

  • Multiplataforma: al no ser binario, se pueden ejecutar en diversas plataformas sin modificaciones, lo que es una clara ventaja si queremos que el código funcione en cualquier sistema.
  • Portabilidad: si el intérprete está listo para una plataforma, entonces el script o lenguaje interpretado funcionará en dicha plataforma.

Sin embargo, estos lenguajes interpretados también tienen sus desventajas:

  • Una de ellas es el rendimiento, ya que necesitan del intérprete siempre ejecutándose en segundo plano para que funcione.
  • La propia dependencia del intérprete.

Cada línea contiene un comando, o instrucción y sus opciones, y una vez ejecutado pasará a la siguiente línea de ejecución. Pueden ser creados para realizar una serie de operaciones utilizando los comandos del sistema operativo. O como ejecutable de un lenguaje de programación interpretado, como puede ser Java, C#, JavaScript, Visual Basic .NET y VBScript, Perl, Python, Lips, Ruby, PHP, ASP, SQL etcétera