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.
Si es nuevo en Linux o en LabEx, se recomienda comenzar con el Quick Start with Linux o Practice Linux Commands para aprender los conceptos básicos de manera sistemática. Después de completar el curso, puede volver aquí para practicar sus habilidades.
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:
Explorador de archivos (barra lateral izquierda): Muestra la estructura de directorios y los archivos.
Editor (área principal): Donde escribirá y editará sus scripts.
Terminal (panel inferior): Donde ejecutará comandos y scripts.
Abriendo el Terminal
Para abrir el terminal en el WebIDE:
Haga clic en "Terminal" en el menú superior.
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
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.
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:
En el Explorador de archivos, haz clic derecho en el directorio /home/labex/project.
Selecciona "New File" (Nuevo archivo) del menú contextual.
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:
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:
#!/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.
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!
¡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:
Navegar por el WebIDE y usar su terminal integrado
Crear un nuevo archivo de script utilizando el comando touch o la interfaz del WebIDE
Editar un archivo utilizando el editor integrado del WebIDE
Comprender el propósito de la línea shebang en los scripts de shell
Usar el comando echo para imprimir texto
Hacer un script ejecutable utilizando el comando chmod
Ejecutar un script de shell desde la línea de comandos
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!