MagPI 10 Page 16

De Le French MagPi
Aller à : Navigation, rechercher

Bash, le Scotch d'Unix

Les bases du Bash

DIFFICULTÉ : DÉBUTANT

Le Bash (Bourne Again Shell) a été l'interpréteur de commandes (ou shell) par défaut de Linux pendant des années. L'objectif de cette série est de proposer une vue d'ensemble de l'interpréteur de commandes Bash en fournissant une description de la syntaxe et des fonctions fournies. Bash est doué pour lier ensembles plusieurs programmes avec un minimum d'efforts. C'est pourquoi cette série est intitulée "Bash, le Scotch d'Unix".

Durant la lecture de cet article, il peut être utile de consulter la page de manuel Bash, en tapant la ligne de commande "man bash". Les commandes de recherche disponibles dans man et les autres commandes sont documentées dans la page de manuel de less. Certaines commandes Bash ont déjà été abordées dans la série "La clinique de la ligne de commande" dans les numéros 2 à 5.

Lancement de Bash

Lorsqu'un terminal est ouvert, un interpréteur de commandes est démarré. L'interpréteur de commandes par défaut de l'utilisateur courant peut être affiché par la commande suivante :

echo $SHELL

L'interpréteur de commandes par défaut de chaque utilisateur est indiqué dans le fichier /etc/passwd ou via NIS ou LDAP. Par exemple :

grep pi /etc/passwd

renvoie :

pi:x:1000:1000:,,,:/home/pi:/bin/bash

Les scripts peuvent être exécutés en les tapant directement dans la fenêtre d'un terminal ou au moyen d'un fichier texte contenant le source du script. Un tel fichier peut être lancé de deux façons : en sourçant le script :

source script.sh

ce qui est équivalent à :

. script.sh

ou en exécutant le script :

./script.sh

Lorsqu'un script est sourcé, c'est comme si le fichier avait été tapé dans l'interpréteur de commandes courant. Toutes les variables déclarées dans le script restent définies lorsque celui-ci se termine. Le script a aussi accès à toute variable définie dans l'interpréteur de commandes courant. Au contraire, lorsque le script est exécuté, un nouvel interpréteur de commandes est démarré. À la fin d'une session Bash, toutes les variables locales sont nettoyées.

Pour exécuter un script, le chemin de l'interpréteur Bash doit être indiqué au début du fichier :

#!/bin/bash

Ensuite, le fichier doit être rendu exécutable :

chmod u+x script.sh

Il est alors possible de taper ./script.sh pour exécuter le script.

Utilisez nano (documenté au numéro 3, dans l'article "La Caverne du C") pour créer un fichier hello.sh contenant :

#!/bin/bash
# Un script simple pour afficher une chaîne de caractères.
echo "Au commencement..."
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils