BASH Valid XHTML 1.1Cette page est conforme à la norme CSS!Mise à jour 10-2001
SOMMAIRE

Présentation
    Préambule
    Description du fonctionnement
Les exemples détaillés
Les outils et liens
Télécharger les exemples
PRESENTATIONRetour en haut de page

Préambule

Bash est un des langages de commande de Linux; ces langages sont plus connus sous le nom de shells.
Il peut être comparé au DOS, mais en beaucoup plus puissant; comme lui il s'éxécute sur écran de commandes, non graphique. Chaque commande est suivie de nombreux paramètres permettant d'en affiner le comportement.
Comme on le voit, l'interface utilisateur est rudimentaire, quoique la commande man affiche une aide complète sur la commande concernée.

Les fonctionnalités de Bash peuvent être enrichies de fonctions personnelles, mais également de très nombreux outils écrits par la communauté. Ceci peut parfois aboutir à des programmes à l'ergonomie disparate, mais la richesse vient de la diversité.

Cependant, la force de Bash (et des autres shells) tient à deux principes essentiels :
  • la redirection des entrées/sorties,
  • les pipe
Dernier point, Bash est un langage de programmation assez complet, puisqu'il procure des instructions permettant d'éxécuter des traitements sur des variables, des boucles, ...

Description du fonctionnement

La redirection des entrées/sorties
Toute commande reçoit ses paramètres d'une entrée et produit des résultats en sortie; il existe aussi une sortie destinée aux erreurs.
En général, toutes les entrées et sorties sont affectées à l'écran. Cependant il est possible de diriger la sortie, par exemple, sur un fichier au lieu de l'écran.
Exemple
La commande ls liste le contenu d'un répertoire à l'écran.
La commande ls >maliste liste le contenu dans un fichier nommé maliste.

Le pipe
Avec le précédent principe, on peut imaginer que le fichier produit soit exploité par une autre commande. C'est le principe du pipe. Celui-ci s'effectue sans nécessiter de fichier intermédiaire.
Exemple
La commande ls | sort affiche la liste triée du répertoire.
Le mécanisme est le suivant :
  • ls liste le contenu du répertoire sur sa sortie standard (l'écran à priori),
  • le pipe récupère la sortie pour l'affecter à l'entrée de la commande suivante,
  • sort trie le contenu provenant de son entrée standard (remplacée par le pipe) et l'édite sur sa sortie standard (l'écran).
Les variables
Bash peut manipuler des variables et effectuer avec elles des traitements variés : affectation de valeur, calculs, utilisation en tant que paramètres de commandes.
On peut aussi récupérer les paramètres passés sur la ligne de commande, leur affecter des valeurs par défaut, etc ...

Les instructions structurées
Il est possible de réaliser :
  • des tests sur les valeurs des variables,
  • des tests sur les fichiers (existence, type, ...),
  • des boucles (while, for, ...)

LES EXEMPLES DETAILLESRetour en haut de page

Liste d'un fichier (lstsrc) Suiv.

Il s'agit ici de lister un fichier en agrémentant le listing produit d'un titre et du nom du fichier traité.

On utilise
  • le passage de paramètres,
  • la redirection de sortie

Couleurs (coul) Préc.Suiv.

Ce script permet de modifier les couleurs de la session sous écran de commande.

Il exploite
  • le traitement des paramètres,
  • la substitution de paramètres,
  • les blocs d'instructions,
  • la condition logique ET

Quelle heure est-il ? (qh) Préc.Suiv.

Ce shell affiche en grands chiffres l'heure système. On simule un afficheur à 7 segments.

Il utilise principalement
  • des boucles while,
  • des variables,
  • des calculs sur les variables,
  • la commande cut qui extrait une sous-chaine de caractères,
  • la commande sed qui transforme une chaine de caractères,
  • la commande date qui extrait la date/heure système,
  • la condition logique ET (&&),
  • les caracteres d'échappement pour afficher des couleurs sur l'écran de commande

Le jeu des cases (jeucases) Préc.Suiv.

Ce jeu présente un damier de 3 cases sur 3, numérotées de 1 à 9, de couleur rouge ou verte. En choisissant une case on change sa couleur ainsi que celle de ses voisines. Le but est d'obtenir à la fin toutes les cases vertes sauf celle du milieu.
On utilise pour ce script les fonctions suivantes :
  • des variables et des calculs sur ces variables,
  • des fonctions,
  • des sequences ascii pour l'affichage en couleur,
  • des boucles while, des tests if et des sélections multiples case,
  • la lecture de données au clavier

Le graphe de l'espace disque (graphdisk) Préc.

Cet outil présente sous forme visuelle (barres horizontales d'histogramme), l'occupation disque des différents points de montage du système de fichiers.
Des paramètres controlent l'affichage obtenu :
  • mode graphique (barres de couleurs) ou texte (X et .),
  • ordre de tri (par nom, taille, %)
Le script utilise plusieurs fonctions :
  • des variables,
  • des tests,
  • la commande df,
  • la commande gawk étudiée ailleurs dans ce site,
  • la commande cut,
  • le traitement de paramètres en nombre inconnu

LES OUTILS ET LIENSRetour en haut de page

De l'aide

Chaque distribution Linux contient une grande quantité d'aide accessible au travers de la commande man.

Les éditeurs de source

Vi
L'éditeur de base de Linux. Ses commandes ne sont pas évidentes mais on finit par s'y faire.

Kedit
Comme l'indique son initiale, il tourne sous l'environnement graphique Kde. Son utilisation est simple et ressemble au bloc-notes de Windows.