Date création : 15-02-2008 18:52:13 Date de la dernière modification : 11-03-2008 21:58:09
 Vous êtes dans : GNU/Linux Astuces / Shell BashExécuter une commande d'historique en utilisant son numéro
Nous avons vu comment connaître et modifier la taille de l'historique ainsi que la complétion des commandes d'historique .
Supposons que nous voulons exécuter une commande qui existe déjà dans historique. Pour faire cela, en premier temps il faut depister la commande.
La commande history va défiler à l'écran toutes les commandes exécutées, mais malheureusement, la vitesse de défilement sera trop grande pour permettre de trouver la commande recherchée.
Nous allons utiliser history en tandem avec less pour pourvoir naviguer et rechercher dans l'historique.
Maintenant nous pouvons naviguer dans l'historique un utilisant les flèches haut et bas pour avancer ou reculer d'un rang ou avec les touches Pg.Préc et Pg.Suiv pour avancer ou reculer d'une page.
Pour rechercher une commande, vous pouvez utiliser le mecanisme de recherche de less.
Pour faire cela, après la commande history | less appuyez tout simplement sur la touche h et l'aide de la commande less s'affichera. Pour sortir du mode "aide" presser la touche q.
Vous avez remarqué que les commandes sont précédées par un numéro.
~$ history | less
1 man man
2 man -k
3 man -k ls
4 sudo aptitude install konqueror
5 sudo aptitude install kde-i18n-fr
6 konqueror &
7 history | grep ssh
8 history | grep scp
[.....]
1819 history | less
1820 man less
1821 history | less
1822 history > h.txt
1823 scite h.txt
1824 history | less
(END)
|
Pour exécuter à nouveau une commande, il suffit de taper ! suivi du numéro de la commande existante dans l'historique.
Dans l'exemple suivant, j'ai exécuté la commande 1822 ( history > h.txt ). C'est juste un exemple, donc il faut faire attention sur votre système quelle commande vous voulez exécuter.
~$ !1822
~$ history > h.txt
|
Si le numéro que vous utilisez est plus grand que le nombre de commandes existantes, vous obtiendrez un message d'erreur.
|