commandes mal foutues type sqlplus : comment rappeler de l’historique ?

closeCet article a été publié il y a 10 ans 2 mois 29 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

bash-iconeQuoi de plus pénible qu’un outil en ligne de commande qui ne permet pas de rappeler les commandes déjà tapées ?

J’ai découvert l’outil rlwrap (readline wrapper).

Je n’ai pas testé pour beaucoup d’outils, mais pour sqlplus (client Oracle), ça marche, et ça, c’est bon !!!

Il suffit de l’installer, et tant qu’à faire, d’automatiser l’encapsulation par cet outil de vos outils ligness de commande préférés.

Ca donne :

# aptitude install rlwrap
# cat >> ~/.bashrc
mon_sqlplus() {
rlwrap sqlplus "$@" ;
}
alias sqlplus=mon_sqlplus
CTRL-D pour finir la saisie dans .bashrc

Relogguez-vous et testez : lorsque vous appelez sqlplus, ça appelle rlwrap sqlplus < mêmes arguments > et les flèches du haut/bas fonctionnent, ainsi que celles de gauche et droite
Yeah !!!

5 comments

  1. Bonsoir,
    sqlplus dispose d’un mécanisme pour rappeler la dernière commande et la charger dans l’éditeur par défaut : taper ed. Puis lorsque qu’on sort de l’éditeur, pour exécuter la commande un simple / et c’est envoyé.

  2. Astuce que je connaissais, et qui te permet de moins pester contre Oracle !

    Ce qui serait génial, c’est que la recherche inverse (Ctrl + R) fonctionne avec rlwrap (ce que je ne pourrai tester vu que je n’utilise plus de BDD Oracle). Un petit coup de Ctrl + R, puis tu tapes une partie de ta requête, et hop, Ctrl + R tant que la bonne requête recherchée apparait et hop, c’est dans la poche.

    1. Je te confirme que le CTRL-R fonctionne avec rlwrap
      Le « ed » indiqué précédemment peut peut-être le faire, mais pour l’avoir essayé 15 secondes, je dirais que vi est plus convivial.

      1. Je ne sais pas comment tu l’as utilisé, mais ed, lance l’éditeur indiqué par la variable d’environnement EDITOR et/ou VISUAL. Tu peux ainsi modifier ta requête dans un vim tunné au stéroïdes ou même emacs.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.