El scripting de shell és una habilitat fonamental per a qualsevol administrador de sistemes o desenvolupador que treballi amb Linux. Els scripts de shell permeten automatitzar tasques repetitives, gestionar sistemes de manera eficient i crear solucions personalitzades per a problemes específics.
Què és un Script de Shell?
Un script de shell és un fitxer de text que conté una sèrie de comandes que es poden executar en un entorn de shell. Els scripts de shell són interpretats pel shell, que és el programa que proporciona la interfície de línia de comandes en un sistema Unix o Linux.
Avantatges del Scripting de Shell
- Automatització: Permet automatitzar tasques repetitives, estalviant temps i reduint errors humans.
- Flexibilitat: Pot interactuar amb altres programes i utilitats del sistema.
- Portabilitat: Els scripts de shell poden ser executats en qualsevol sistema Unix o Linux sense necessitat de modificacions importants.
Primer Script de Shell
Comencem amb un exemple senzill per crear el nostre primer script de shell.
Pas 1: Crear el Fitxer de Script
Obre un editor de text (com nano
, vim
o gedit
) i crea un nou fitxer anomenat primer_script.sh
.
Pas 2: Escriure el Script
Afegeix el següent contingut al fitxer:
Explicació del Codi
#!/bin/bash
: Aquesta línia és coneguda com a "shebang" i indica al sistema que utilitzi el shellbash
per interpretar el script.# Aquest és el meu primer script de shell
: Aquesta línia és un comentari. Els comentaris comencen amb#
i no són executats pel shell.echo "Hola, món!"
: Aquesta línia imprimeix el text "Hola, món!" a la pantalla.
Pas 3: Fer el Script Executable
Per poder executar el script, primer hem de fer-lo executable. Utilitza la comanda chmod
per canviar els permisos del fitxer:
Pas 4: Executar el Script
Ara pots executar el script utilitzant la següent comanda:
Hauries de veure la sortida següent:
Estructura Bàsica d'un Script de Shell
Un script de shell pot contenir diversos elements, incloent-hi:
- Comentaris: Utilitzats per documentar el codi.
- Comandes: Instruccions que el shell executa.
- Variables: Emmagatzemen dades que poden ser utilitzades més tard.
- Estructures de control: Com ara bucles i condicions per controlar el flux del programa.
Exemple d'Estructura Bàsica
#!/bin/bash # Exemple d'estructura bàsica d'un script de shell # Definició de variables nom="Joan" edat=30 # Comandes echo "Hola, $nom!" echo "Tens $edat anys." # Estructures de control if [ $edat -ge 18 ]; then echo "Ets major d'edat." else echo "Ets menor d'edat." fi
Explicació del Codi
- Variables:
nom
iedat
són variables que emmagatzemen dades. - Comandes:
echo
s'utilitza per imprimir missatges a la pantalla. - Estructures de control:
if
s'utilitza per executar diferents blocs de codi basats en una condició.
Exercicis Pràctics
Exercici 1: Script de Salutació
Crea un script que demani el nom de l'usuari i després imprimeixi una salutació personalitzada.
Solució
#!/bin/bash # Script de salutació echo "Introdueix el teu nom:" read nom echo "Hola, $nom! Benvingut al curs de scripting de shell."
Exercici 2: Calculadora Senzilla
Crea un script que demani dos números a l'usuari i després imprimeixi la suma, resta, multiplicació i divisió d'aquests números.
Solució
#!/bin/bash # Calculadora senzilla echo "Introdueix el primer número:" read num1 echo "Introdueix el segon número:" 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"
Conclusió
En aquesta secció, hem après els conceptes bàsics del scripting de shell, incloent-hi com crear i executar un script senzill. També hem vist com utilitzar variables i estructures de control per fer els nostres scripts més dinàmics i útils. En les properes seccions, aprofundirem en aquests conceptes i explorarem tècniques més avançades per escriure scripts de shell més potents i eficients.
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