Votre IP: 38.107.191.118 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 15-02-2008 18:52:13
Date de la dernière modification : 11-03-2008 21:58:09
Linux  Vous êtes dans : GNU/Linux Astuces / Shell Bash

Exé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.

 ~$ history | less

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.
Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS