¡Hola, Bash!

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este laboratorio lo guiará a través de la creación de un sencillo script de shell que imprime el clásico mensaje "Hello, World!". Aprenderá los fundamentos de la programación de shell utilizando el shell Bash, que se utiliza ampliamente en sistemas operativos similares a Unix, como Linux. Este laboratorio está diseñado para principiantes, así que no se preocupe si es nuevo en la programación o en el uso de la línea de comandos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) shell(("Shell")) -.-> shell/BasicSyntaxandStructureGroup(["Basic Syntax and Structure"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") shell/BasicSyntaxandStructureGroup -.-> shell/shebang("Shebang") shell/BasicSyntaxandStructureGroup -.-> shell/comments("Comments") shell/BasicSyntaxandStructureGroup -.-> shell/quoting("Quoting Mechanisms") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") subgraph Lab Skills linux/echo -.-> lab-388809{{"¡Hola, Bash!"}} shell/shebang -.-> lab-388809{{"¡Hola, Bash!"}} shell/comments -.-> lab-388809{{"¡Hola, Bash!"}} shell/quoting -.-> lab-388809{{"¡Hola, Bash!"}} linux/ls -.-> lab-388809{{"¡Hola, Bash!"}} linux/touch -.-> lab-388809{{"¡Hola, Bash!"}} linux/cat -.-> lab-388809{{"¡Hola, Bash!"}} linux/chmod -.-> lab-388809{{"¡Hola, Bash!"}} linux/pwd -.-> lab-388809{{"¡Hola, Bash!"}} end

Introducción a WebIDE (VS Code)

Para este curso de scripting de Shell, utilizaremos un WebIDE basado en Visual Studio Code (VS Code). Este entorno de desarrollo integrado ofrece una forma conveniente de editar scripts y acceder al terminal todo en un solo lugar.

Es importante tener en cuenta que, aunque el shell predeterminado en el WebIDE es Zsh, escribiremos scripts de Bash en este laboratorio. Bash (Bourne Again SHell) es el shell más común y ampliamente utilizado en sistemas similares a Unix. Zsh (Z Shell) es una versión extendida de Bash con algunas mejoras y características. Para los fines de este laboratorio, las diferencias no afectarán nuestro trabajo, ya que nuestros scripts utilizarán explícitamente Bash a través de la línea shebang (#!/bin/bash).

Accediendo al WebIDE

Cuando inicie el laboratorio, verá la interfaz del WebIDE en su navegador. Consiste en varias partes clave:

  1. Explorador de archivos (barra lateral izquierda): Muestra la estructura de directorios y los archivos.
  2. Editor (área principal): Donde escribirá y editará sus scripts.
  3. Terminal (panel inferior): Donde ejecutará comandos y scripts.

Abriendo el Terminal

Para abrir el terminal en el WebIDE:

  1. Haga clic en "Terminal" en el menú superior.
  2. Seleccione "New Terminal" (Nueva terminal) del menú desplegable.

Esto abrirá un nuevo panel de terminal en la parte inferior del WebIDE. Verá un indicador de comando que se parece a este:

labex:project/ $

Esto indica que ha iniciado sesión como el usuario labex, y su directorio actual es ~/project (que es una forma abreviada de /home/labex/project).

Usando el Terminal

Ejemplo de interfaz de terminal de WebIDE

Puede usar este terminal como lo haría con un terminal normal en un sistema Linux. Por ejemplo, para ver el contenido de su directorio actual, puede escribir:

ls

Y presionar Enter. Esto listará todos los archivos y directorios en su ubicación actual.

Crear un archivo de script de shell

Ahora, creemos un nuevo archivo para nuestro script de shell. Usaremos el comando touch en el terminal para hacer esto. El comando touch se utiliza para crear archivos vacíos o actualizar las fechas de acceso y modificación de archivos existentes.

Escribe el siguiente comando en el terminal y presiona Enter:

touch hello.sh

Este comando crea un archivo vacío llamado hello.sh en tu directorio actual. La extensión .sh se utiliza comúnmente para los scripts de shell, pero no es obligatoria.

Ejemplo de comando touch en el terminal

No verás ninguna salida después de ejecutar este comando. En sistemas similares a Unix, la ausencia de salida generalmente significa que el comando se ejecutó correctamente.

Como alternativa, puedes crear el archivo utilizando la interfaz del WebIDE:

  1. En el Explorador de archivos, haz clic derecho en el directorio /home/labex/project.
  2. Selecciona "New File" (Nuevo archivo) del menú contextual.
  3. Escribe el nombre de archivo hello.sh y presiona Enter.

Esto creará un nuevo archivo llamado hello.sh y lo abrirá en el editor.

Editar el script de shell

Ahora que hemos creado el archivo, agreguemos algo de contenido a él. Utilizaremos el editor integrado del WebIDE para esta tarea.

Si el archivo no está abierto en el editor:

  1. En el Explorador de archivos, haz doble clic en hello.sh para abrirlo.

En el editor, escribe exactamente las siguientes dos líneas:

#!/bin/bash
echo 'Hello, World!'

Analicemos lo que significan estas líneas:

  1. #!/bin/bash - Esta se llama línea "shebang". Le dice al sistema qué intérprete se debe utilizar para ejecutar este script. En este caso, estamos especificando el shell Bash.
  2. echo 'Hello, World!' - Esta línea utiliza el comando echo para imprimir el texto "Hello, World!" en la pantalla.

Después de escribir estas líneas, guarda el archivo presionando Ctrl + S o yendo a Archivo > Guardar en el menú superior.

Hacer el script ejecutable

Antes de poder ejecutar nuestro script, debemos hacerlo ejecutable. En sistemas similares a Unix, los archivos tienen permisos que controlan quién puede leer, escribir o ejecutarlos. Por defecto, los nuevos archivos no son ejecutables.

Para hacer nuestro script ejecutable, usamos el comando chmod (que significa "change mode", cambiar modo). Escribe el siguiente comando en el terminal y presiona Enter:

chmod +x hello.sh

Esto es lo que hace este comando:

  • chmod es el comando para cambiar los permisos de un archivo.
  • +x significa "agregar permiso de ejecución".
  • hello.sh es el nombre de nuestro archivo.

No verás ninguna salida de este comando si se ejecuta correctamente.

Ejecutar el script

Ahora que nuestro script es ejecutable, podemos ejecutarlo. Para ejecutar un script en el directorio actual, usamos ./ antes del nombre del script. Este ./ le dice al sistema que busque el script en el directorio actual.

Escribe el siguiente comando en el terminal y presiona Enter:

./hello.sh

Si todo se ha hecho correctamente, deberías ver la salida:

Hello, World!
Salida de la ejecución del script en el terminal

¡Felicidades! Acabas de ejecutar tu primer script de shell.

Ver el contenido del script

Como último paso, veamos el contenido de nuestro archivo de script para confirmar que todo está correcto. Podemos hacer esto utilizando el comando cat, que muestra el contenido de un archivo en el terminal.

Escribe el siguiente comando en el terminal y presiona Enter:

cat hello.sh

Deberías ver el contenido de tu script mostrado:

#!/bin/bash
echo 'Hello, World!'

Esto es un buen hábito adquirir cuando se trabaja con scripts: siempre revisa tu trabajo dos veces.

Resumen

En este laboratorio, has creado y ejecutado con éxito un simple script de shell Bash. Has aprendido cómo:

  1. Navegar por el WebIDE y usar su terminal integrado
  2. Crear un nuevo archivo de script utilizando el comando touch o la interfaz del WebIDE
  3. Editar un archivo utilizando el editor integrado del WebIDE
  4. Comprender el propósito de la línea shebang en los scripts de shell
  5. Usar el comando echo para imprimir texto
  6. Hacer un script ejecutable utilizando el comando chmod
  7. Ejecutar un script de shell desde la línea de comandos
  8. Ver el contenido de un archivo utilizando el comando cat

Estas habilidades fundamentales son la base para tareas más avanzadas de scripting de shell y automatización en entornos similares a Unix. A medida que continúes aprendiendo, descubrirás lo poderoso y flexible que puede ser el scripting de shell para administrar sistemas y automatizar tareas.

Recuerda, la práctica es clave en la programación. Intenta modificar el script para imprimir diferentes mensajes o crea nuevos scripts para realizar otras tareas simples. No temas experimentar, ¡así es como se aprende!