
Dans le monde Unix, le terme shell désigne un interpréteur de commandes. C'est dans un shell qu'on peut parcourir l'arborescence de fichiers en entrant des commandes telles que cd et ls, que l'on peut copier, supprimer déplacer des fichiers ou des répertoires avec les commandes cp, rm, mv ... ou que l'on peut lancer des utilitaires tels que les éditeurs de texte vi ou emacs.
Un shell apparaît donc à première vue comme un programme qui lit des commandes entrées au clavier et les exécute. Ceci n'est cependant qu'une utilisation possible d'un shell: l'utilisation en mode interactif ou en ligne de commande. Il existe une autre façon d'utiliser un shell où le shell lit des commandes dans un fichier plutôt qu'au clavier. Un tel fichier est ce qu'on appelle un script.
En mode interactif ou en mode script, un shell n'est pas limité à exécuter des commandes à la suite l'une de l'autre. Un shell possède des fonctionnalités présentes dans des langages de programmation telles que la possibilité d'exécuter des commandes seulement quand certaines conditions sont remplies (les structures conditionnelles), d'exécuter plusieurs fois un même ensemble de commandes (les structures itératives ou boucles), de définir des variables, des fonctions ...
Le shell apparaît donc plus comme un interpréteur d'un langage de programmation dont les instructions de base seraient les commandes et dont les scripts seraient les programmes. L'écriture de scripts sera particulièrement adaptées à la réalisation de traitements qui s'effectuent en combinant des commandes comme la manipulation de fichiers et en particulier celle de fichiers textes, par exemple.
L'atelier aborde les points suivants (selon le temps) :
De 1 à 4 heures.