Bash for Dummies n.° 1: crea y ejecuta tu primer script de Hello World

Si quieres convertirte en hacker, ingeniero de la nube o prácticamente cualquier cosa en TI, entonces aprendeLas secuencias de comandos le darán una ventaja sobre los demás.

Las secuencias de comandos Bash se utilizan principalmente para automatizar operaciones en servidores. Estas son aquellas operaciones que llevarían años si las realizaras manualmente.

Es similar a automatizar el aire acondicionado después de cierta temperatura, pero con Linux puedes ser más creativo. Claro, otros sistemas operativos también te permiten automatizar operaciones, pero con Linux vas un paso más allá.

Esta es la razón por la que estamos comenzando una serie sobre secuencias de comandos 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 script bash?
  • Crear y ejecutar un script ficticio
  • Cómo ejecutar script con intérprete bash
  • Escribir el guión de Hola Mundo

Entonces comencemos con el primero.

¿Qué son las secuencias de comandos Bash?

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 la terminal.

Supongamos que necesita ejecutar 200 comandos. Claro, si tuvieras que hacerlo una vez, escribir un guión no tendría ningún sentido, pero si tuvieras 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. Entonces es como una forma secuencial de ejecutar comandos. La mejor parte es que también puede automatizar la ejecución de scripts en función de escenarios específicos, como ejecutar un script mientras se inicia el sistema.

Escribamos un guión ficticio

Para crear y ejecutar un script de shell, debe seguir 3 pasos:

  1. Cree un archivo y líneas que desee ejecutar.
  2. Haga que el archivo sea ejecutable (de lo contrario, el archivo será tratado como un archivo de texto normal)
  3. Ejecutar el script

Para escribir un guión, necesitas un editor de texto. Si bien cualquier cosa como un bloc de notas también funcionaría. Te animo a que realices todo en una ventana de terminal. Así que seré.

Para brindarle un mejor contexto del trabajo del script, abra su terminal y ejecute ellscomando para enumerar archivos y directorios en el directorio actual:

ls

Ahora, ejecuta elpwdcomando que le indicará el directorio de trabajo actual:

pwd

Ahora piensa que quieres 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 en juego 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.sharchivo. Ahora, escribe esos dos comandos en las dos primeras líneas ya que pretendemos ejecutarlos uno por uno:

ls
pwd

Para guardar este archivo, siga dos pasos:

  • PrensaCtrl + Oy luego presione elEntertecla para guardar el archivo.
  • PrensaCtrl + Xpara salir del nano editor.

¿Parece confuso? He aquí 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 pueda ejecutar? Bueno, la respuesta es simple.

Necesitas hacer que el archivo sea ejecutable. Para que el archivo sea ejecutable, debe utilizar elchmodcomando como se muestra aquí:

chmod +x dummy.sh

Aquí he usado el+xbandera con el comando chmod que agregará permiso para ejecutar el archivo.

Ahora, puede verificar los permisos del archivo usando ellscomando y debe reflejar los permisos de ejecución:

ls -la dummy.sh

La primera parte de la salida esrwxrwx-xaquí hay un desglose simple:

  • r– permiso de lectura
  • w– permiso de escritura
  • x– permiso ejecutable

En términos simples, sugiere que el archivo no está listo para ser ejecutado.

Para ejecutar el archivo, todo lo que tienes que hacer es agregar./antes del nombre del archivo y debe ejecutarse:

./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 shell)

Anteriormente, expliqué cómo se puede ejecutar un script pero no mencionébashen cualquier parte del script o durante la ejecución.

Fue una ejecución de shell, no una ejecución de bash.

Linux puede tener múltiples shells. Claro, la sintaxis básica sigue siendo la misma en su mayor parte, especificar el intérprete bash le permite usar más funciones.

Hay dos formas de utilizar el intérprete de bash:

  • Utilice elbashcomando mientras se ejecuta el script
  • Usar#!/bin/bashcomo primera línea en su script bash (una práctica estándar)

Si desea utilizar el intérprete de bash utilizando elbashcomando, entonces así es como se ve la sintaxis:

bash <script-name>

El script que creé anteriormente se llamódummy.shentonces, si quisiera usar el intérprete de bash usando elbashcomando, entonces el comando se vería así:

bash dummy.sh

Pero lo ideal es mencionar al intérprete en el propio guión. Ahí es donde entra en juego el segundo método.

Para mencionar al intérprete en el guión, debe agregar el!#/bin/bashlínea al comienzo del guión. Para hacerlo, primero abra el script con el editor de texto preferido. Voy con el nano editor:

nano dummy.sh

Ahora, agrega el#!/bin/bashlínea al principio del archivo como se muestra aquí:

Ejecute su primer programa Hello World

Hasta ahora, he mencionado cómo se puede crear un script, hacerlo ejecutable, agregar un intérprete de bash y cómo ejecutarlo. Ahora, en esta sección, resumiré todo brevemente, así que tengan paciencia y ejecuten su primer script Hello World.

Primero, abre tu terminal y usa 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 elechoComando en la segunda línea que le permite imprimir texto y agregar el texto "Hola mundo" que quiero que se imprima en el momento de la ejecución.

A continuación, guarde los cambios presionandoCtrl + Oy golpeando elEnterllave. Finalmente, presioneCtrl + Xpara cerrar el nano editor.

Ahora, haga que el archivo sea ejecutable usando elchmodcomando para hacer el archivo ejecutable:

chmod +x hello.sh

Finalmente, puede ejecutar el script como se muestra aquí:

./hello.sh

¡Ahí lo tienes!

Bonificación: combinar eco con otros comandos

Aunque usar el comando echo para imprimir texto normal es bueno, me gustaría mostrarte 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, debe incluir el comando en$(command_name)sintaxis. Esto esconocido como sustitución de comando.El comando dentro del paréntesis se ejecutará primero y su salida se capturará e insertará en el comando echo.

Permítanme darles un ejemplo de un script que utiliza comandos básicos para proporcionar información al 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 ejecuta este script, el resultado se verá así:

Parece un ejemplo real de cómo deberías usar el comando echo en el script bash, ¿verdad?

Siguiente: Aprenda a usar variables en Bash

En la siguiente parte de la serie Bash para Dummies, explicaré cómo puedes usar variables en Bash desde el nivel básico hasta el avanzado. Si tienes alguna otra idea déjanos un comentario.

Related Posts