Tag vite :

Utiliser l'historique du shell

 Posté par greg le 4 juillet 2010 23:18 |  Aucun commentaire
Tags : geek  computing  shell 

Jeudi dernier, c‘était le first jeudi nantais de juillet. Celui là était un peu spécial car il était consacré aux shells et plus particulièrement à bash Un projecteur avec un laptop était à disposition des geeks présents alors du coup, vous imaginez, j’avais bien révisé mes tips sûr de faire forte impression avec

rappeler les arguments de la ligne de commande précédente

$ echo un deux trois
$ echo !:3 !:1
echo trois un
trois un
$

Notez que le shell vous affiche la commande évaluée. Ma botte secrète est que si jamais vous êtes tout perdu sur votre ligne de commande un CTRL META E salvateur va vous en interpréter tout le charabia pour vous laisser une ligne de commande compréhensible.

Hé bien, j’ai eu l’air ridicule avec mon tips, Nicolas m’a emboité le pas et nous a sorti un festival :

$ echo un deux
un deux
$ echo trois quatre
trois quatre
$ echo !-2:1 !-2:2 !:1 !:2
echo un deux trois quatre
un deux trois quatre
$ echo !:$
echo quatre
quatre
$ ll /usr/share/doc/lsb-base/README.Debian.gz
-rw-r--r-- 1 root root 2,3K 2009-03-21 01:00 /usr/share/doc/lsb-base/README.Debian.gz
$ cd !:$:h
cd /usr/share/doc/lsb-base

Voila. Je vous laisse apprécier le modificateur :h qui permet de ne récupérer que le répertoire d’un chemin de fichier, ça punit sa maman sévèrement.

crise de rhumatismes, substituons !

Et là, vous ne retaperez plus jamais deux fois presque la même ligne, ni même faire du copié-collé pour changer deux trois trucs non non:

$ echo toto tutu titi
toto tutu titi
$ ^t^l
echo loto tutu titi
loto tutu titi
$ !!:gs/t/l/
echo lolo lulu lili
lolo lulu lili
$ !-2:gs/t/r/
echo loro ruru riri
loro ruru riri

Une fois suffit

Hé oui, comme je n’aime pas rester sur une défaite, j’ai bossé un peu depuis. Avec ce lien aimablement prêté par Mickael qui n’a pu se joindre à nous pour cette soirée, j’ai découvert l’existance de fc .

$ fc -l -5
519 echo toto tutu titi
520 echo loto tutu titi
521 echo lolo lulu lili
522 echo loro ruru riri
523 fc -l -5
$

Ça affiche l’historique, ce qui est sympa mais si ce n‘était que ça, je ne vous en parlerais pas. Ça permet de rejouer des pans de votre historique de commandes ! D’ici, rentrez simplement un « fc 519 522 » et bash va lancer votre éditeur de texte préféré (qu’il connait grâce à la variable $EDITOR) et vous placer les commandes indiquées pour modification et exécution.

Par ailleurs, placer la ligne de shell courante dans votre éditeur de texte préféré (Vim, c’est plus court), c’est possible à l’aide de la séquence «CTRL x CTRL

Voila … le prochain first jeudi à thème, ce sera probablement sur Vim, mais on a le temps d’ici là !


Commentaires

Les commentaires utilisent la bibliothèque Textile restreinte. Amusez vous bien !

Soyez le premier à commenter ce post.

Liens récents 

 Crew - code review for Git projects.

Marqué par greg le 6 mai 2012 07:57..
Tags: geek computing git

Suivre le lien

 responsive grid system

Marqué par greg le 5 mai 2012 12:38..
Tags: geek computing dev

Suivre le lien

 Vim "improved

Marqué par greg le 8 mars 2012 09:26..
Tags: geek computing vim

Suivre le lien

 Highly scalable NoSql blog

Marqué par greg le 3 mars 2012 09:12..
Tags: geek computing dev

Suivre le lien

 Bruce Momjian Pg blog

Marqué par greg le 16 février 2012 13:51..
Tags: geek computing postgresql net blog

Suivre le lien

 Richard Miller's blog

Marqué par greg le 16 février 2012 09:57..
Tags: geek computing dev php symfony net blog

Suivre le lien

 Online SQL explain interface

Marqué par greg le 15 février 2012 09:58..
Tags: geek computing postgresql net

Suivre le lien

 Ace online code editor

Marqué par greg le 15 février 2012 08:57..
Tags: net geek computing dev javascript

Suivre le lien

 Coding horror

Marqué par greg le 14 février 2012 12:42..
Tags: geek computing dev net blog

Suivre le lien

 telegraphCQ - Stream oriented database

Marqué par greg le 13 février 2012 14:44..
Tags: geek computing postgresql

Suivre le lien