Introducció
Bash, acrònim de "Bourne Again SHell", és una shell de Unix i un llenguatge de comandes que es va desenvolupar com una versió millorada de la shell original de Unix, sh (Bourne Shell). Bash és àmpliament utilitzat en sistemes operatius basats en Unix, com Linux i macOS, i és una eina fonamental per a administradors de sistemes, desenvolupadors i usuaris avançats.
Característiques de Bash
Bash ofereix una sèrie de característiques que el fan molt potent i flexible:
- Interfície de Línia de Comandes (CLI): Permet als usuaris introduir comandes directament per interactuar amb el sistema operatiu.
- Scripting: Permet escriure scripts per automatitzar tasques repetitives.
- Control de Flux: Suporta estructures de control com bucles i condicions.
- Gestió de Fitxers: Proporciona comandes per gestionar fitxers i directoris.
- Redirecció i Piping: Permet redirigir l'entrada i sortida de comandes i encadenar comandes amb pipes (
|
).
Història de Bash
Bash va ser creat per Brian Fox el 1989 com a part del projecte GNU. Va ser dissenyat per ser compatible amb la Bourne Shell (sh) mentre afegia moltes característiques noves. Des de llavors, Bash s'ha convertit en la shell predeterminada en moltes distribucions de Linux i és àmpliament utilitzat en altres sistemes operatius basats en Unix.
Comparació amb Altres Shells
Shell | Descripció | Compatibilitat |
---|---|---|
sh | La shell original de Unix, simple i eficient. | Compatible amb Unix |
csh | C Shell, amb una sintaxi similar a C i funcionalitats de scripting. | Compatible amb Unix |
ksh | Korn Shell, combina característiques de sh i csh. | Compatible amb Unix |
zsh | Z Shell, amb moltes funcionalitats avançades i personalitzacions. | Compatible amb Unix |
fish | Friendly Interactive Shell, amb una sintaxi més amigable i funcionalitats modernes. | Compatible amb Unix |
Avantatges de Bash
- Compatibilitat: Bash és compatible amb scripts escrits per a la Bourne Shell.
- Flexibilitat: Permet una gran varietat de tasques, des de la gestió de fitxers fins a la programació avançada.
- Portabilitat: Els scripts de Bash poden ser executats en qualsevol sistema que tingui Bash instal·lat.
- Comunitat i Suport: Hi ha una gran comunitat d'usuaris i desenvolupadors que proporcionen suport i recursos.
Exemples Pràctics
Exemple 1: Comanda Simple
Explicació: La comanda echo
imprimeix el text "Hola, món!" a la pantalla.
Exemple 2: Script Bàsic
Explicació:
#!/bin/bash
: Indica que el script ha de ser executat amb Bash.nom="Joan"
: Defineix una variable anomenadanom
amb el valor "Joan".echo "Hola, $nom!"
: Imprimeix el text "Hola, Joan!" a la pantalla, utilitzant la variablenom
.
Exercici Pràctic
Exercici 1: Crear un Script Simple
-
Obre un editor de text (com
nano
ovim
). -
Escriu el següent codi:
#!/bin/bash # Script per saludar l'usuari usuari="Maria" echo "Hola, $usuari! Benvingut a Bash."
-
Desa el fitxer amb el nom
salutacio.sh
. -
Fes el fitxer executable amb la comanda:
chmod +x salutacio.sh
-
Executa el script amb la comanda:
./salutacio.sh
Solució:
El script hauria d'imprimir el següent text a la pantalla:
Conclusió
En aquesta secció, hem après què és Bash, les seves característiques principals, la seva història i com es compara amb altres shells. També hem vist alguns exemples pràctics i hem realitzat un exercici per crear un script simple. Amb aquesta base, estem preparats per aprofundir en la configuració del nostre entorn i començar a utilitzar Bash de manera efectiva.
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