¡Hola, Bash!

LinuxBeginner
Practicar Ahora

Introducción

Esta práctica de laboratorio te guiará paso a paso para crear un script de shell sencillo que imprima el clásico mensaje "Hello, World!". Aprenderás los fundamentos de la programación en shell utilizando Bash, que es el intérprete de comandos más utilizado en sistemas operativos tipo Unix, como Linux. Esta sesión está diseñada para principiantes, así que no te preocupes si es la primera vez que programas o utilizas la línea de comandos.

Esta es una Práctica Guiada, lo que significa que proporciona instrucciones detalladas para ayudarte a aprender y practicar. Sigue las indicaciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 80%. Ha recibido una valoración positiva del 99% por parte de los estudiantes.

Introducción al WebIDE (VS Code)

Para este curso de scripting en Shell, utilizaremos un WebIDE basado en Visual Studio Code (VS Code). Este entorno de desarrollo integrado ofrece una forma muy cómoda de editar scripts y acceder a la terminal, todo en un mismo lugar.

Es importante mencionar que, aunque la shell por defecto en el WebIDE es Zsh, en esta práctica escribiremos scripts para Bash. Bash (Bourne Again SHell) es la shell más común y extendida en sistemas tipo Unix. Zsh (Z Shell) es una versión extendida de Bash con algunas mejoras y funciones adicionales. Para los propósitos de este laboratorio, las diferencias no afectarán nuestro trabajo, ya que nuestros scripts indicarán explícitamente el uso de Bash mediante la línea shebang (#!/bin/bash).

Acceso al WebIDE

Al iniciar el laboratorio, verás la interfaz del WebIDE en tu navegador. Consta de varias partes clave:

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

Abrir la Terminal

Para abrir la terminal en el WebIDE:

  1. Haz clic en "Terminal" en el menú superior.
  2. Selecciona "New Terminal" en el menú desplegable.

Esto abrirá un nuevo panel de terminal en la parte inferior. Verás un indicador de comandos (prompt) similar a este:

labex:project/ $

Esto indica que has iniciado sesión como el usuario labex y que tu directorio actual es ~/project (que es la forma abreviada de /home/labex/project).

Uso de la Terminal

Ejemplo de la interfaz de terminal del WebIDE

Puedes usar esta terminal exactamente igual que una terminal convencional en un sistema Linux. Por ejemplo, para ver el contenido de tu directorio actual, puedes escribir:

ls

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

Crear un archivo de script de Shell

Ahora, vamos a crear un nuevo archivo para nuestro script. Utilizaremos el comando touch en la terminal. El comando touch se usa para crear archivos vacíos o para actualizar las fechas de acceso y modificación de archivos existentes.

Escribe el siguiente comando en la 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, aunque no es obligatoria para que funcione.

Ejemplo del comando touch en la terminal

No verás ninguna respuesta tras ejecutar este comando. En los sistemas tipo Unix, la ausencia de mensajes suele significar que el comando se ejecutó correctamente.

Alternativamente, puedes crear el archivo usando la interfaz del WebIDE:

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

Esto creará el archivo hello.sh y lo abrirá automáticamente en el editor.

Editar el script de Shell

Una vez creado el archivo, vamos a añadirle contenido. 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 las siguientes dos líneas exactamente como se muestran:

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

Analicemos qué significan estas líneas:

  1. #!/bin/bash - Esto se conoce como línea "shebang". Indica al sistema qué intérprete debe usarse para ejecutar este script. En este caso, especificamos la 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 File > Save en el menú superior.

Hacer que el script sea ejecutable

Antes de poder ejecutar nuestro script, necesitamos darle permisos de ejecución. En los sistemas tipo Unix, los archivos tienen permisos que controlan quién puede leerlos, escribirlos o ejecutarlos. Por defecto, los archivos nuevos no son ejecutables.

Para que nuestro script se pueda ejecutar, usamos el comando chmod (que significa "change mode" o cambiar modo). Escribe el siguiente comando en la terminal y presiona Enter:

chmod +x hello.sh

Esto es lo que hace cada parte del comando:

  • chmod es el comando para cambiar los permisos del archivo.
  • +x significa "añadir permiso de ejecución" (eXecute).
  • hello.sh es el nombre de nuestro archivo.

Al igual que antes, no verás ningún mensaje si el comando tiene éxito.

Ejecutar el script

Ahora que nuestro script es ejecutable, podemos ponerlo en marcha. Para ejecutar un script que se encuentra en el directorio actual, usamos ./ antes del nombre del archivo. El prefijo ./ le indica al sistema que busque el script específicamente en la carpeta actual.

Escribe el siguiente comando en la terminal y presiona Enter:

./hello.sh

Si todo se ha hecho correctamente, deberías ver el siguiente resultado:

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

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

Ver el contenido del script

Como paso final, vamos a visualizar el contenido de nuestro archivo de script para confirmar que todo está en orden. Podemos hacerlo con el comando cat, que muestra el contenido de un archivo directamente en la terminal.

Escribe el siguiente comando en la terminal y presiona Enter:

cat hello.sh

Deberías ver el contenido de tu script:

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

Es un buen hábito revisar siempre tu trabajo cuando programas scripts para asegurarte de que no hay errores inesperados.

Resumen

En esta práctica de laboratorio, has creado y ejecutado con éxito un script de shell de Bash sencillo. Has aprendido a:

  1. Navegar por el WebIDE y utilizar su terminal integrada.
  2. Crear un nuevo archivo de script usando el comando touch o la interfaz visual.
  3. Editar un archivo con el editor integrado del WebIDE.
  4. Comprender el propósito de la línea shebang en los scripts de shell.
  5. Utilizar el comando echo para mostrar texto.
  6. Otorgar permisos de ejecución a un archivo mediante el comando chmod.
  7. Ejecutar un script de shell desde la línea de comandos.
  8. Visualizar el contenido de un archivo con el comando cat.

Estas habilidades fundamentales son la base para tareas más avanzadas de automatización y scripting en entornos tipo Unix. A medida que sigas aprendiendo, descubrirás lo potente y flexible que puede ser el shell para administrar sistemas y automatizar procesos.

Recuerda que la práctica es fundamental en la programación. Intenta modificar el script para imprimir mensajes diferentes o crea nuevos scripts para realizar otras tareas sencillas. ¡No tengas miedo de experimentar, así es como realmente se aprende!