Si quieres convertirte en un hacker, ingeniero en la nube o casi todo en él, entonces aprendiendoLas secuencias de comandos te darán una ventaja sobre los demás.
Bash Scripting se utiliza principalmente para automatizar las operaciones en los servidores. Estas son aquellas operaciones que tomarían años si las realizara manualmente.
Es similar a la automatización de su aire acondicionado después de cierta temperatura, pero con Linux, puede ser más creativo. Claro, otros sistemas operativos también le permiten automatizar las operaciones, pero con Linux, va un paso más allá.
Esta es la razón por la que estamos comenzando una serie sobre Scripting de Bash donde lo guiaré a través de todos los conceptos básicos que necesitará para comenzar con las secuencias de comandos Bash.
En la primera parte de esta serie, lo guiaré a través de lo siguiente:
- ¿Qué es un guión Bash?
- Creación y ejecución de un script ficticio
- Cómo ejecutar el script con el intérprete bash
- Escribir Hello World Script
Así que comencemos con el primero.
¿Qué es Bash Scripting?
Un script bash es simplemente un archivo de texto que contiene uno o más comandos. Cuando se ejecuta el script, los comandos se ejecutan secuencialmente como si los ingresara manualmente en el terminal.
Supongamos que necesita ejecutar 200 comandos. Claro, si tuviera que hacerlo una vez, escribir un guión no tendría ningún sentido, pero si tuviera que hacerlo una y otra vez, escribir un guión es una mejor idea.
Cuando ejecuta un script, ejecuta cada línea una por una. Por lo tanto, es como una forma secuencial de ejecutar comandos. La mejor parte es que también puede automatizar la ejecución de scripts basados en escenarios específicos, como ejecutar un script mientras el sistema arranca.
Vamos a escribir un guión ficticio
Para crear y ejecutar un script de shell, debe seguir 3 pasos:
- Cree un archivo y líneas que desee ejecutar.
- Hacer que el archivo sea ejecutable (o de lo contrario el archivo será tratado como un archivo de texto normal)
- Ejecutar el script
Para escribir un script, necesita un editor de texto. Mientras que algo como un bloc de notas también funcionaría. Te animo a que realices todo en una ventana de terminal. Entonces seré.
Para darle un mejor contexto de trabajo de script, abra su terminal y ejecute ells
Comando para enumerar archivos y directorios en el directorio actual:
ls

Ahora, ejecute elpwd
comando que le dirá el directorio de trabajo actual:
pwd

Ahora, piense que desea ejecutar estos dos comandos a la vez. Claro, puedes usar el&
Operador para ejecutar múltiples comandos, pero se volverá más complejo a medida que aumente la cadena de comandos.
Aquí es donde entra la idea de las secuencias de comandos bash.
Primero, abra su terminal y use el comando nano como se muestra aquí para crear su primer script bash llamadodummy.sh
:
nano dummy.sh
Creará y abrirá eldummy.sh
archivo. Ahora, escriba esos dos comandos en las dos primeras líneas, ya que tenemos la intención de ejecutarlos una por una:
ls
pwd

Para guardar este archivo, siga dos pasos:
- Prensa
Ctrl + O
y luego presione elEnter
clave para guardar el archivo. - Prensa
Ctrl + X
Salir del editor nano.
¿Parece confuso? Aquí le mostramos cómo hacerlo:
¡Pero aún no puedes ejecutar el script!
Linux tratará el archivo como un archivo de texto normal. Entonces, ¿cómo lo cambiamos a un script que se puede ejecutar? Bueno, la respuesta es simple.
Debe hacer que el archivo sea ejecutable. Para hacer que el archivo sea ejecutable, debe usar elchmod
Comando como se muestra aquí:
chmod +x dummy.sh
Aquí he usado el+x
Marcar con el comando chmod que agregará permiso para ejecutar el archivo.

Ahora, puede verificar los permisos del archivo utilizando ells
comando y debe reflejar los permisos de ejecución:
ls -la dummy.sh

La primera parte de la salida esrwxrwx-x
Aquí hay un desglose simple:
r
- Leer permisow
- Permiso de escriturax
- Permiso ejecutable
En términos simples, sugiere que el archivo no está listo para ser ejecutado.
Para ejecutar el archivo, todo lo que tiene que hacer es agregar./
Antes del nombre de archivo y se debe ejecutar:
./dummy.sh

Como puede ver, cuando ejecuté el script, ejecutó los comandos LS y PWD uno por uno.
Ahora, ejecutemos un script bash (no un script de shell)
Anteriormente, expliqué cómo puedes ejecutar un script pero no mencionébash
en cualquier lugar del script o durante la ejecución.
Era una ejecución de shell, no una ejecución de Bash.
Linux puede tener múltiples conchas. Claro, la sintaxis básica sigue siendo la misma en su mayor parte, especificar al intérprete bash le permite usar más funciones.
Hay dos formas en que puede usar el intérprete Bash:
- Usar el
bash
comando al ejecutar el script - Usar
#!/bin/bash
Como primera línea en su script bash (una práctica estándar)
Si desea usar el intérprete de bash usando elbash
Comando, entonces así es como se ve la sintaxis:
bash <script-name>
El script que creé anteriormente fue nombradodummy.sh
Entonces, si quisiera usar el intérprete de bash usando elbash
comando, entonces el comando se vería así:
bash dummy.sh

Pero idealmente, se supone que debes mencionar al intérprete en el script en sí. Ahí es donde entra el segundo método.
Para mencionar el intérprete en el script, debe agregar el!#/bin/bash
línea al comienzo del guión. Para hacerlo, primero abra el script con el editor de texto preferido. Voy con el editor de Nano:
nano dummy.sh
Ahora, agregue el#!/bin/bash
Línea al comienzo del archivo como se muestra aquí:

Ejecute su primer programa Hello World
Hasta ahora, he mencionado cómo puedes crear un script, hacerlo ejecutable, agregar un intérprete bash y cómo ejecutarlo. Ahora, en esta sección, resumiré todo brevemente, así que tengan paciencia conmigo y ejecute tu primer guión de Hello World.
Primero, abra su terminal y use el editor nano para crear y abrir un nuevo script:
nano hello.sh
Ahora, escriba/pegue las siguientes líneas en el archivo que le permitirán ejecutar un programa Hello World:
#!/bin/bash
echo Hello World

Aquí he usado elecho
Comando en la segunda línea que le permite imprimir texto y ha agregado el texto del "Hello World" que quiero imprimir en el momento de la ejecución.
A continuación, guarde los cambios presionandoCtrl + O
y golpeando elEnter
llave. Finalmente, presionaCtrl + X
Para cerrar el editor nano.
Ahora, haga que el archivo sea ejecutable utilizando elchmod
Comando para hacer que el archivo sea ejecutable:
chmod +x hello.sh
Finalmente, puede ejecutar el script como se muestra aquí:
./hello.sh

¡Ahí lo tienes!
Bonificación: combinar el eco con otros comandos
Si bien usar el comando Echo para imprimir texto normal es bueno, pero me gustaría mostrarle una forma más práctica de usar Echo con otros comandos.
La idea es imprimir el texto junto con la salida del otro comando a través del comando Echo para obtener un comando más significativo.
Para usar comandos junto con el comando echo que necesita para encerrar el comando en$(command_name)
sintaxis. Esto esconocido como sustitución de comandos.El comando dentro de los paréntesis se ejecutará primero, y su salida será capturado e insertado en el comando ECHO.
Permítanme darle un ejemplo de un script que usa comandos básicos para indicar la información del sistema:
#!/bin/bash
echo "Current Date: $(date)"
echo "Current User: $(whoami)"
echo "Current Directory: $(pwd)"
echo "Disk Usage:"
echo "$(df -h | grep /dev/)"
Como puede ver, he usado la sustitución de comandos varias veces y cuando ejecute este script, la salida se verá así:

Eso parece un ejemplo real de cómo debería usar el comando Echo en el script bash, ¿verdad?
Siguiente: Aprenda a usar variables en Bash
En la siguiente parte de la serie Bash for Dummies, explicaré cómo puede usar variables en BASH del nivel básico a avanzado. Si tiene alguna otra idea, déjanos un comentario.