Bash plus intelligent ?

Publié par Edouard le

Il est possible de rendre bash plus intelligent, en permettant le complètement des commandes (completion en anglais) jusque dans leurs arguments, du moins pour certaines. Pour cela il faut installer le logiciel bash-completion. Le paquet pour Fedora est bien adapté aux commandes Fedora ce qui le rend très utile. Il n’y a rien de magique, ce n’est pas non plus de l’introspection dynamique, bash-completion repose sur une sorte de base de données qui référence les commandes et leurs arguments.

Enfin bref, pour l’installer, sous Fedora, il suffit de taper la commande suivante:

yum install bash-completion

Pour l’activer sans avoir à se deloguer:

source /etc/bash-completion

Voici des exemples surpuissants que vous pouvez vous aussi utiliser chez vous:

ser[tab] ht[tab] res[tab] => service httpd restart
yu[tab] ins[tab] ligh[tab] => yum install lighttpd

Et oui encore un truc de faignasse d’admin ?

Une dernière petite astuce pratique, toujours sur la completion. Qui n’a jamais tapé trop vite au clavier un chemin, par ex « /Etc » au lieu de « /etc » à cause de la touche shift pour faire le « / »? Et bien il est possible de rendre insensible à la casse le complètement des commandes et chemins sous Bash. Pour cela il faut éditer le fichier « /etc/inputrc » pour imposer ce réglage de manière globale ou sinon « ~/.inputrc » pour votre utilisateur seulement et ajouter une ligne (à la fin par exemple):

set completion-ignore-case on

Il faut se déloguer par contre, a moins que quelqu’un connaisse l’astuce pour faire relire ce fichier par bash. Pour vérifier que ça marche:

cd /E[tab] => cd /etc

Et voilà ?

Catégories : Shell

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

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