¿Qué es un Shell Script?
Un Shell Script es un programa que está creado con instrucciones que son ejecutadas por un Shell (CLI o intérprete de comandos) de Unix o Linux. El código no es compilado ni precompilado, se va ejecutando línea por línea efectuando lo que cada instrucción le indica. Necesita un programa que entienda los comandos y estructuras que contiene y esto se suele poner en la primera línea del programa. Por ejemplo #!/bin/bash
significa que le pasaremos al BASH las lineas del fichero de Script. Dado que el BASH es el intérprete de comandos más famoso de Linux, los Script que se crean para este entorno también se pueden llamar Bash Script.
En general se suele usar la extensión .sh para identificar qué contiene el fichero, pero no es en absoluto necesario. Lo que indica a Linux que es un programa es el permiso de ejecución y no la extensión que tenga el fichero.
¿Para qué sirve en Shell Script?
Principalmente sirve para automatizar tareas y para realizar procesos más complejos de los que un solo comando puede efectuar. Aunque los comando se pueden enlazar mediante tuberías o XARGS, a veces necesitamos tomar decisiones condicionales o recorrer elementos mediante bucles. Aquí es donde necesitamos organizarlo todo en un Shell Script.
El propio sistema de Linux tiene programadas multitud de tareas con sus Script del sistema, desde la rotación de logs, actualización del arranque, gestión de servidores, niveles de ejecución etc.
Mi primer Script. Hola Mundo
Un script en bash es muy rápido de crear, sólo tenemos que cumplir unos pocos requisitos:
- Crear un fichero de texto plano y darle permisos de ejecución (chmod +x file.sh)
- Indicar el programa que hará la función de intérprete
- Poner las ordenes, variables o estructuras que entienda el intérprete.
Ejemplo:
Creamos en nuestro editor de texto favorito (vi, nano, emacs..) o con el comando cat, un fichero con el contenido:
#!/bin/bash echo "Hola Mundo"
Lo guardamos y le damos permisos de ejecución: chmod +x hola_mundo.sh
Ahora podremos ejecutarlo con ./hola_mundo.sh
Como ves, lo principal es conocer las instrucciones que debemos poner para realizar la tarea que necesitamos. En este caso utilizo el comando echo
que su función es mostrar un mensaje por pantalla (salida estándar).
Etiqueta:portada