Objetivo: Crear una jerarquía de directorios y archivos utilizando Bash. Este ejercicio es fundamental para comprender cómo organizar archivos y directorios en un entorno DevOps.
Usando comandos de Bash, crea la siguiente estructura de directorios y archivos:
foo/
├─ dummy/
│ ├─ file1.txt
│ ├─ file2.txt
├─ empty/Donde:
-
file1.txtdebe contener el siguiente texto:Me encanta bash!! -
file2.txtdebe estar vacío.
$ mkdir -p foo/dummy foo/empty
$ echo "Me encanta la bash!!" > foo/dummy/file1.txt
$ touch foo/dummy/file2.txtInstrucciones:
- Crea la jerarquía de directorios y asegúrate de que los archivos contengan el texto correspondiente.
- Verifica la creación de la estructura con
ls -R foo/.
Objetivo: Modificar el contenido de los archivos y moverlos a una carpeta diferente, simulando una tarea en un pipeline.
Utilizando comandos de Bash, realiza lo siguiente:
- Vuelca el contenido de
file1.txtenfile2.txt. - Mueve
file2.txta la carpetaempty.
El resultado final debería ser:
foo/
├─ dummy/
│ ├─ file1.txt
├─ empty/
├─ file2.txtDonde ambos archivos (file1.txt y file2.txt) deben contener el siguiente texto:
Me encanta bash!!$ cp foo/dummy/file1.txt foo/empty/file2.txt
$ mv foo/empty/file2.txt foo/empty/file2.txtInstrucciones:
- Realiza la copia del contenido y el movimiento de los archivos.
- Verifica el contenido de los archivos en ambas ubicaciones con
cat foo/dummy/file1.txtycat foo/empty/file2.txt.
Objetivo: Crear un script que agrupe los pasos anteriores y permita la personalización del texto en los archivos.
Crea un script de Bash que haga lo siguiente:
- Cree la estructura de directorios
foo/dummyyfoo/empty. - Crea los archivos
file1.txtyfile2.txten la carpetadummy/. - Si el script recibe un texto como parámetro, debe poner ese texto en
file1.txt. Si no recibe parámetro, debe poner el siguiente texto por defecto:
¡Vamos por la automatización y la eficiencia! 🚀- Copia el contenido de
file1.txtafile2.txty muevefile2.txta la carpetaempty/.
$ ./script.sh "Automatizando con Bash"El archivo file1.txt debería contener:
Automatizando con BashSi no se pasa un texto como parámetro:
$ ./script.shEl archivo file1.txt debería contener:
¡Vamos por la automatización y la eficiencia! 🚀Instrucciones:
- Escribe un script de Bash que realice las tareas mencionadas.
- El script debe ser ejecutable, por lo que debes dar permisos de ejecución con
chmod +x script.sh. - Verifica el resultado con
cat foo/dummy/file1.txtycat foo/empty/file2.txt.
Objetivo: Descargar el contenido de una página web y buscar una palabra específica.
Crea un script de Bash que haga lo siguiente:
- Descargue el contenido de la página
https://codigofacilito.com/. - Busque una palabra proporcionada como parámetro (por ejemplo, "curso", "Bash", etc.).
- Si la palabra no aparece, muestra el siguiente mensaje:
> Lo sentimos, la palabra "palabra_buscada" no aparece en la página. ¿Te atreves a buscar otra palabra?- Si la palabra aparece, muestra cuántas veces aparece y en qué líneas:
> ¡Éxito! La palabra "palabra_buscada" aparece 3 veces en la página.
> La primera aparición está en la línea 27.$ ./busqueda.sh patata
> Lo sentimos, la palabra "patata" no aparece en la página. ¿Te atreves a buscar otra palabra?Si la palabra se encuentra, el resultado podría ser:
$ ./busqueda.sh curso
> ¡Éxito! La palabra "curso" aparece 5 veces en la página.
> La primera aparición está en la línea 15.Instrucciones:
- Crea el script para descargar la página web y buscar la palabra.
- Asegúrate de verificar que el contenido se descargue correctamente y que la búsqueda funcione como se espera.
- Prueba con diferentes palabras y URLs.
Objetivo: Aprender a realizar validaciones de parámetros en un script Bash.
Modifica el ejercicio anterior para que acepte dos parámetros: la URL de la página web y la palabra a buscar. Si no se pasan exactamente dos parámetros, muestra el siguiente mensaje:
> Se necesitan únicamente dos parámetros para ejecutar este scriptSi la palabra aparece una vez en el archivo, muestra:
> La palabra "palabra_buscada" aparece 1 vez
> Aparece únicamente en la línea 27$ ./busqueda_parametros.sh https://codigofacilito.com/ patata
> Lo sentimos, la palabra "patata" no aparece en la página. ¿Te atreves a buscar otra palabra?Si la palabra se encuentra:
$ ./busqueda_parametros.sh https://codigofacilito.com/ curso
> ¡Éxito! La palabra "curso" aparece 3 veces en la página.
> La primera aparición está en la línea 15.Instrucciones:
- Asegúrate de que el script valide la cantidad de parámetros correctamente.
- Si el número de parámetros es incorrecto, muestra el mensaje de error apropiado.
- Verifica la funcionalidad buscando palabras en páginas web.
Cada uno de estos ejercicios te ayudará a familiarizarte con tareas comunes en DevOps como la creación de archivos, manipulación de datos, validación de parámetros y automatización de procesos con Bash. ¡No dudes en modificar y personalizar los scripts según tus necesidades!