Les paquets bash fournis avec la Debian possèdent déjà plein de raccourcis pour la complétion sous bash. Ceci est à vérifier pour les autres distributions, mais cette fonctionnalité semble disponible sur la plupart des distributions.
Néanmoins la complétion automatique dans le bash n’est pas assez satisfaisante à vos yeux (enfin surtout à vos doigts !!) ?? Savez-vous que vous pouvez améliorer son comportement ??
Cet article explique comment avoir une complétion automatique plus fine et plus complète avec le bash.
$cd /ho puis vous tapez la touche tabulation (qui sera désignée par [TAB] dans la suite de l’article) alors le bash va vous proposer la liste des répertoires et fichiers à la racine du système qui commençant par "ho". C’est à dire entre autre le répertoire /home.
bash-completion (pour une complétion intelligente) n’est pas disponible sur votre distribution, vous pouver le récupérer (version =< 2.05a) sur le site de
bash completion.
S’il faut installer le paquet sous votre Debian, il faut procéder comme à l’habitude :
#apt-get install bash-builtins
~/.bashrc ou bien dans le fichier /etc/bash.bashrc (dans la documentation ils parlent du fichier /etc/bashrc) si vous voulez que tous les utilisateurs profitent de ces options :
bash=$BASH_VERSION%.* ; bmajor=$bash%.* ; bminor=$bash#*.
if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor ’>’ 04 ] \
&& [ -f /etc/bash_completion ] ; then # interactive shell
# Source completion code
. /etc/bash_completion
fi
unset bash bmajor bminor
[1]
Une fois le bash configuré, il faut charger le nouveau paramétrage avec la ligne de commande suivante :
$. .bashrc
$cd [TAB], il vous propose plus que des répertoires. Lorsque vous lancez $ssh [TAB], la complétion vous propose une machine qui se trouve dans votre fichier ~/.ssh/known_hosts. Vous pouvez de même essayer tapez $dpkg -X kde[TAB], $ggv [TAB], $unzip [TAB], ...
make et de configure. Quelque soit les sources à compiler, la complétion lis les fichiers de configuration et propose les options disponibles !!
Par exemple vous voulez recompiler des sources que vous venez de décompresser. Avant la compilation vous voulez changer les options de configuration, tapez la commande suivante :
$./configure --with[TAB]
Le bash vous répondra quelquechose qui ressemblera à ceci :
--with-afs --with-gnu-malloc
--with-bash-malloc --with-installed-readline
--with-curses --with-purecov
--with-glibc-malloc --with-purify$complete | less
Les commandes concernées par la completion sont en fin de chaque ligne, vous pouvez en regardant le début des lignes savoir si la completion concerne les noms de fichiers ou les options.
/etc/bash_completion pour définir d’autres complétions, ajouter les complétions les plus complexes dans /etc/bash_completion.d ou même vous créer un ~/.bash_completion. Je vais essayez expliquer comment paramétrer ces fichiers un peu plus tard...
[1] Souvent ces lignes sont déjà présentes dans le ficher .bashrc. Dans ce cas il suffit de décommenter les trois lignes correspondantes qui se trouvent tout à la fin du fichier.
| Date | Nom | Message |