En aquest tema, aprendrem sobre les variables i els tipus de dades en el context del scripting de shell a Linux. Les variables són fonamentals per a l'escriptura de scripts, ja que permeten emmagatzemar i manipular dades de manera dinàmica.
Continguts
Introducció a les Variables
Les variables en shell script són utilitzades per emmagatzemar informació que pot ser utilitzada i manipulada al llarg del script. Les variables no necessiten ser declarades explícitament abans de ser utilitzades.
Característiques de les Variables
- No tipades: Les variables en shell no tenen un tipus de dada fix.
- Dinàmiques: Les variables poden canviar el seu valor i tipus de dada durant l'execució del script.
- Scope: Les variables poden ser locals o globals.
Assignació de Valors a les Variables
Per assignar un valor a una variable, simplement utilitzem el signe igual (=
) sense espais al voltant.
Accés a les Variables
Per accedir al valor d'una variable, utilitzem el signe de dòlar ($
) seguit del nom de la variable.
Tipus de Dades
Encara que les variables en shell no tenen un tipus de dada fix, podem treballar amb diferents tipus de dades com ara cadenes de text, números i arrays.
Cadenes de Text
Les cadenes de text són el tipus de dada més comú en shell scripting. Poden ser assignades directament a les variables.
Números
Els números poden ser utilitzats per a operacions aritmètiques. És important recordar que les operacions aritmètiques en shell es realitzen amb la comanda expr
o utilitzant la sintaxi $(( ))
.
Arrays
Els arrays permeten emmagatzemar múltiples valors en una sola variable. Els elements de l'array es poden accedir utilitzant l'índex corresponent.
# Definició d'un array colors=("vermell" "verd" "blau") # Accés a elements de l'array echo ${colors[0]} # vermell echo ${colors[1]} # verd echo ${colors[2]} # blau # Tots els elements de l'array echo ${colors[@]}
Operacions amb Variables
Concatenació de Cadenes
Podem concatenar cadenes de text utilitzant el símbol de concatenació (+
).
Operacions Aritmètiques
Les operacions aritmètiques es poden realitzar utilitzant la sintaxi $(( ))
.
a=10 b=5 suma=$((a + b)) resta=$((a - b)) multiplicacio=$((a * b)) divisio=$((a / b)) echo "Suma: $suma" echo "Resta: $resta" echo "Multiplicació: $multiplicacio" echo "Divisió: $divisio"
Exemples Pràctics
Exemple 1: Calculadora Bàsica
#!/bin/bash echo "Introdueix dos números:" read num1 read num2 suma=$((num1 + num2)) resta=$((num1 - num2)) multiplicacio=$((num1 * num2)) divisio=$((num1 / num2)) echo "Suma: $suma" echo "Resta: $resta" echo "Multiplicació: $multiplicacio" echo "Divisió: $divisio"
Exemple 2: Salutació Personalitzada
Exercicis
Exercici 1: Calculadora de Mòdul
Escriu un script que demani a l'usuari dos números i calculi el mòdul (residu de la divisió) entre ells.
Exercici 2: Llista de Tasques
Crea un script que permeti a l'usuari introduir una llista de tasques i després les mostri totes.
Solucions
Solució Exercici 1
#!/bin/bash echo "Introdueix dos números:" read num1 read num2 modul=$((num1 % num2)) echo "El mòdul de $num1 i $num2 és: $modul"
Solució Exercici 2
#!/bin/bash declare -a tasques while true; do echo "Introdueix una tasca (o escriu 'fi' per acabar):" read tasca if [ "$tasca" == "fi" ]; then break fi tasques+=("$tasca") done echo "Llista de tasques:" for tasca in "${tasques[@]}"; do echo "- $tasca" done
Conclusió
En aquesta secció, hem après sobre les variables i els tipus de dades en shell scripting. Hem vist com assignar valors a les variables, accedir-hi, i realitzar operacions amb elles. També hem treballat amb cadenes de text, números i arrays. Finalment, hem practicat amb alguns exemples i exercicis per reforçar els conceptes apresos. En la següent secció, explorarem les estructures de control en shell scripting.
Domini de Linux: De Principiant a Avançat
Mòdul 1: Introducció a Linux
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades de la Línia de Comandes
- Ús de Comodins i Expressions Regulars
- Piping i Redirecció
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting de Shell
- Introducció al Scripting de Shell
- Variables i Tipus de Dades
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- Gestió de Discs
- Gestió de Paquets
- Monitorització del Sistema i Optimització del Rendiment
- Còpia de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxa
- Tallafocs i Seguretat
- SSH i Accés Remot
- Sistemes de Detecció d'Intrusions
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Optimització del Nucli de Linux
- Alta Disponibilitat i Balanceig de Càrrega