| Linux-Mandrake: Manuel de référence | ||
|---|---|---|
| Page précédente | Chapitre 2. Introduction à la ligne de commande | Page suivante |
Le complètement est une fonctionnalité des plus pratiques, et tous les shells modernes (dont bash) l'incluent. Son but est de faire travailler l'utilisateur le moins possible. Le mieux pour illustrer ce qu'est le complètement est un exemple.
Supposons que vous ayez dans votre répertoire personnel un fichier fichier_au_nom_très_long_impossible_à_taper, et vous voulez le consulter. Supposons que vous ayez également dans ce même répertoire un autre fichier appelé fichier_texte. Vous vous trouvez dans votre répertoire personnel. Vous tapez alors la séquence suivante :
$ less fi<TAB>
(c'est-à-dire, tapez less fi suivi d'une pression sur la touche TAB). Le shell aura alors étendu la ligne de commande pour vous :)
$ less fichier_
et aura également marqué la liste des choix possibles (dans sa configuration par défaut, qui peut être personnalisée). Tapez alors la séquence de touches suivante :
less fichier_a<TAB>
et le shell aura étendu la ligne de commande pour obtenir le résultat que vous souhaitiez :
less fichier_au_nom_très_long_impossible_à_taper
Il ne vous reste plus alors qu'à taper sur la touche Entrée pour valider et consulter le fichier.
La touche TAB n'est pas le seul moyen d'activer le complètement, bien que ce soit la façon la plus courante de faire. De façon générale, le mot à compléter sera un nom de commande pour le premier mot de la ligne de commande (nsl<TAB> donnera nslookup), et un nom de fichier pour tous les autres, à moins que le mot ne soit précédé d'un caractère « magique » parmi ~, @ ou $, auquel cas le shell essaiera de compléter respectivement un nom d'utilisateur, un nom de machine ou une variable d'environnement[1]. Il existe également un caractère magique pour compléter un nom de commande (!) ou un nom de fichier (/).
Les deux autres façons d'activer le complètement sont les séquences Esc-<x> et C-x <x> (Esc pour la touche Échap, C-x voulant dire Control+<x>) où <x> est l'un des caractères magiques déjà mentionnés). Taper Esc-<x> tentera le complètement de façon unique, et en cas d'échec complètera le mot à la plus grande sous-chaîne possible dans la liste des choix. Un bip signifie soit que le choix n'est pas unique, soit qu'il n'y a tout simplement pas de choix correspondant. La séquence C-x <x> affichera la liste des choix possibles sans tenter aucun complètement. La pression sur la touche TAB est équivalente à une pression successive de Esc-<x> et de C-x <x>, le caractère magique dépendant du contexte.
Ainsi, une façon de voir toutes les variables d'environnement définies est de taper sur une ligne vierge la séquence C-x $. Un autre exemple : si on veut voir la page de manuel de la commande nslookup, il suffit de taper man nsl puis Esc-!, et le shell complétera automatiquement en man nslookup.
| [1] | Souvenez-vous : Unix différencie les majuscules des minuscules. La variable d'environnement HOME et la variable home ne sont pas les mêmes. |
| Page précédente | Début | Page suivante |
| Redirections et tubes | Remonter | Lancement et manipulation de processus en arrière-plan : le job control (contrôle des processus en arrière-plan) |