Els bucles són una part fonamental de qualsevol llenguatge de programació, i Bash no és una excepció. Els bucles permeten executar un bloc de codi repetidament fins que es compleixi una condició específica. En aquest tema, aprendrem sobre els diferents tipus de bucles en Bash i com utilitzar-los.
Tipus de Bucles en Bash
- for loop: Itera sobre una seqüència de valors.
- while loop: Executa un bloc de codi mentre una condició sigui certa.
- until loop: Executa un bloc de codi fins que una condició sigui certa.
- select loop: Proporciona una interfície de menú simple per a l'usuari.
- for loop
El bucle for s'utilitza per iterar sobre una seqüència de valors, com ara una llista d'elements o un rang de números.
Sintaxi
Exemple
Explicació
for i in 1 2 3 4 5: El bucleforiterarà sobre els valors 1, 2, 3, 4 i 5.do ... done: El bloc de codi dins d'aquestes paraules clau s'executarà per a cada valor de la llista.echo "Número: $i": Imprimeix el valor actual dei.
- while loop
El bucle while executa un bloc de codi mentre una condició sigui certa.
Sintaxi
Exemple
Explicació
contador=1: Inicialitza la variablecontadora 1.while [ $contador -le 5 ]: El buclewhilecontinuarà executant-se mentrecontadorsigui menor o igual a 5.echo "Número: $contador": Imprimeix el valor actual decontador.((contador++)): Incrementa el valor decontadoren 1.
- until loop
El bucle until és similar al while, però s'executa fins que la condició sigui certa.
Sintaxi
Exemple
Explicació
contador=1: Inicialitza la variablecontadora 1.until [ $contador -gt 5 ]: El bucleuntilcontinuarà executant-se fins quecontadorsigui major que 5.echo "Número: $contador": Imprimeix el valor actual decontador.((contador++)): Incrementa el valor decontadoren 1.
- select loop
El bucle select proporciona una interfície de menú simple per a l'usuari.
Sintaxi
Exemple
#!/bin/bash
PS3="Selecciona una opció: "
select fruita in Poma Taronja Plàtan Sortir
do
case $fruita in
Poma)
echo "Has seleccionat Poma."
;;
Taronja)
echo "Has seleccionat Taronja."
;;
Plàtan)
echo "Has seleccionat Plàtan."
;;
Sortir)
break
;;
*)
echo "Opció no vàlida."
;;
esac
doneExplicació
PS3="Selecciona una opció: ": Estableix el prompt per al menú.select fruita in Poma Taronja Plàtan Sortir: Crea un menú amb les opcions Poma, Taronja, Plàtan i Sortir.case $fruita in ... esac: Executa diferents blocs de codi segons l'opció seleccionada.break: Surt del bucleselectquan l'usuari selecciona "Sortir".
Exercicis Pràctics
Exercici 1: Bucle for
Escriu un script que imprimeixi els números de l'1 al 10 utilitzant un bucle for.
Solució
Exercici 2: Bucle while
Escriu un script que demani a l'usuari que introdueixi un número i que imprimeixi tots els números des de l'1 fins al número introduït utilitzant un bucle while.
Solució
#!/bin/bash
read -p "Introdueix un número: " num
contador=1
while [ $contador -le $num ]
do
echo "Número: $contador"
((contador++))
doneExercici 3: Bucle until
Escriu un script que demani a l'usuari que introdueixi un número i que imprimeixi tots els números des del número introduït fins a l'1 utilitzant un bucle until.
Solució
#!/bin/bash
read -p "Introdueix un número: " num
until [ $num -lt 1 ]
do
echo "Número: $num"
((num--))
doneExercici 4: Bucle select
Escriu un script que mostri un menú amb les opcions "Afegir", "Eliminar", "Modificar" i "Sortir". L'script ha de realitzar una acció diferent per a cada opció seleccionada.
Solució
#!/bin/bash
PS3="Selecciona una opció: "
select opcio in Afegir Eliminar Modificar Sortir
do
case $opcio in
Afegir)
echo "Has seleccionat Afegir."
;;
Eliminar)
echo "Has seleccionat Eliminar."
;;
Modificar)
echo "Has seleccionat Modificar."
;;
Sortir)
break
;;
*)
echo "Opció no vàlida."
;;
esac
doneConclusió
En aquesta secció, hem après sobre els diferents tipus de bucles en Bash: for, while, until i select. Hem vist com utilitzar-los amb exemples pràctics i hem practicat amb alguns exercicis. Els bucles són una eina poderosa que ens permeten automatitzar tasques repetitives i gestionar fluxos de treball de manera eficient. En el proper mòdul, explorarem les funcions en Bash, que ens permetran organitzar i reutilitzar el codi de manera més eficient.
Curs de Programació en Bash
Mòdul 1: Introducció a Bash
- Què és Bash?
- Configuració del teu Entorn
- Navegació Bàsica per la Línia de Comandes
- Entenent la Shell
Mòdul 2: Comandes Bàsiques de Bash
- Operacions amb Fitxers i Directoris
- Comandes de Processament de Text
- Permisos i Propietat de Fitxers
- Redirecció i Piping
Mòdul 3: Conceptes Bàsics de Scripting
Mòdul 4: Scripting Intermedi
Mòdul 5: Tècniques Avançades de Scripting
- Operacions Avançades amb Fitxers
- Gestió de Processos
- Gestió d'Errors i Depuració
- Expressions Regulars
Mòdul 6: Treballant amb Eines Externes
Mòdul 7: Automatització i Programació
- Treballs Cron
- Automatització de Tasques
- Scripts de Còpia de Seguretat i Restauració
- Monitorització i Registre
Mòdul 8: Millors Pràctiques i Optimització
- Escriure Codi Llegible
- Optimització de Scripts en Bash
- Consideracions de Seguretat
- Control de Versions amb Git
