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.

# Assignació de valor a una variable
nom="Joan"
edat=25

Accés a les Variables

Per accedir al valor d'una variable, utilitzem el signe de dòlar ($) seguit del nom de la variable.

echo "El nom és $nom i l'edat és $edat."

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.

missatge="Hola, món!"
echo $missatge

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 $(( )).

a=5
b=3
resultat=$((a + b))
echo "El resultat és $resultat"

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ó (+).

nom="Joan"
cognom="Garcia"
nom_complet="$nom $cognom"
echo $nom_complet

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

#!/bin/bash

echo "Introdueix el teu nom:"
read nom

echo "Hola, $nom! Benvingut al curs de Linux."

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

Mòdul 2: Comandes Bàsiques de Linux

Mòdul 3: Habilitats Avançades de la Línia de Comandes

Mòdul 4: Scripting de Shell

Mòdul 5: Administració del Sistema

Mòdul 6: Xarxes i Seguretat

Mòdul 7: Temes Avançats

Mòdul 8: Projectes Pràctics

© Copyright 2024. Tots els drets reservats