# Shell

# Le shell

## Qu'est-ce que le shell ?

Le shell est le programme que vous utilisez régulièrement sur les machines Unix de l'ENS (que ce soient les Sun, les PC sous FreeBSD ou autres dérivés d'Unix), et qui interprète les commandes. Par exemple, vous y tapez `pine` ou `mutt`, `forum`, `cc`, `mozilla`, etc. Le shell est ce programme qui attend vos instructions et vous dit quelque chose comme :

    clipper ~ $

### La coquille magique

Le mot shell signifie « coquille » en anglais. Mais quel rapport avec une coquille ? Eh bien, dans une coquille vous pouvez mettre de l'eau, pour la porter ensuite à votre bouche ; vous pouvez y mettre du sable avant de le verser dans des bocaux ; en somme, une coquille est un récipient qui permet de manipuler toutes sortes de contenus. Il en va de même du shell. C'est un outil en mode texte qui permet l'exploitation d'un grand nombre de ressources de l'ordinateur.

### Les usages du shell

Ces pages vous donneront les rudiments pour exploiter les deux principales fonctionnalités du shell :

- l'usage interactif, reposant sur les lignes de commandes ;
- la conception de scripts (programmes écrits en shell).

Ces deux usages du shell sont tout à fait complémentaires. Pour une utilisation quotidienne, il est important de connaître quelques bases de l'utilisation du shell en ligne de commande ; et l'écriture de scripts shell permet de personnaliser son système en automatisant des tâches répétitives et fastidieuses.

Par ailleurs, la programmation en shell fournit un excellent marche-pied pour apprendre la programmation. C'est un langage simple, qui permet d'arriver rapidement à des résultats visibles.

Les pages que nous consacrons ici à l'apprentissage du shell vous apprendront à manipuler cet outil précieux et puissant. Elles sont accessibles à des débutants, même s'ils n'ont aucune connaissance préalable avancée en informatique, ni même en mathématiques ; elles sont accessibles à ceux qui ont une formation littéraire.

## Le shell en ligne de commande

Si vous souhaitez utiliser le shell en ligne de commandes, nous vous recommandons en priorité la lecture des pages suivantes :

- présentation générale du shell : qu'est-ce que le shell ? Comment l'utiliser ?
- le shell en ligne de commande : les bases de l'utilisation du shell en ligne de commande ;
- les variables : comment créer, lire et manipuler des variables avec le shell.

## Programmer des scripts shell

Si vous souhaitez apprendre à programmer en shell (écrire des scripts), alors nous vous conseillons de lire également :

- programmation de scripts en shell : écrivez vos premiers programmes en shell ;
- entrée, sortie, redirection : faire interagir les éléments du shell pour construire des programmes évolués ;
- test et calcul arithmétique : manipuler les valeurs de vrai et de faux pour orienter le parcours d'un programme ;
- boucles et structures de contrôle : maîtriser l'aiguillage d'un programme ;
- définir et appeler des fonctions : alléger ses programmes et améliorer leur qualité en les concevant d'une façon modulaire.

Basé sur un polycopié de Roberto Di Cosmo, Xavier Leroy et Damien Doligez. Modifications : Nicolas George, Baptiste Mélès. Dernière modification le .