#8 Variables et scripts bash
$VAR, export, boucles
Les variables d'environnement
Le système maintient des variables d'environnement qui contiennent des informations utiles. On y accède avec le préfixe $ :
$ echo $HOME
/home/user
$ echo $USER
userQuelques variables courantes : $HOME (dossier personnel), $USER (nom d'utilisateur), $PATH (chemins des exécutables), $PWD (dossier courant).
Déclarer ses propres variables
On crée une variable en utilisant le format NOM=valeur. Attention : pas d'espace autour du = !
$ NOM="Alice"
$ echo $NOM
Alice
$ FICHIER="rapport.txt"
$ cat $FICHIERLes variables créées ainsi ne sont visibles que dans le shell courant.
export -- Partager les variables
Par défaut, une variable n'est pas transmise aux processus enfants (scripts, sous-shells). Pour la rendre disponible partout, on utilise export :
$ export MA_VAR="test"
$ echo $MA_VAR
test
# MA_VAR est maintenant accessible dans les scripts lancés depuis ce shellCréer un script bash
Un script bash est un fichier texte contenant une suite de commandes. La première ligne doit être le shebang #!/bin/bash qui indique quel interpréteur utiliser :
#!/bin/bash
# Boucle for
for PRENOM in Alice Bob Charlie; do
echo "Bonjour $PRENOM !"
doneOn exécute le script avec bash script.sh ou, après l'avoir rendu exécutable avec chmod +x, directement avec ./script.sh :
$ bash script.sh
Bonjour Alice !
Bonjour Bob !
Bonjour Charlie !Boucle for et condition if
La boucle for permet de répéter des commandes pour chaque élément d'une liste :
for FICHIER in *.txt; do
echo "Traitement de $FICHIER"
doneLa structure if permet d'exécuter du code selon une condition :
if [ -f "notes.txt" ]; then
echo "Le fichier existe"
else
echo "Fichier introuvable"
fiCalculs arithmétiques
Bash permet de faire des calculs avec la syntaxe $(( )) :
$ echo $((2 + 3))
5
$ echo $((10 * 4))
40Récapitulatif
NOM="valeur" # Déclarer une variable
echo $NOM # Utiliser une variable
export NOM="valeur" # Exporter pour les sous-processus
bash script.sh # Exécuter un script
./script.sh # Exécuter (si chmod +x)
echo $((2 + 3)) # Calcul arithmétiqueÀ vous de jouer
Essayez de créer des variables, d'utiliser export et de lancer bash script.sh dans le terminal ci-dessous.