-
Auto complétion bash
Slt, je savais pas trop ou poster ce message, ici me semble le plus adapté.
J'ai remarqué que l'autocomplétion pouvait aussi concerner les arguments d'une commande. Par exemple, si on tape 'apti' et qu'on lance l'autocomplétion, on obtient 'aptitude'. Jusque là rien de nouveau mais si ensuite on tape 'upg' soit 'aptitude upg' et qu'on lance l'autocomplétion de nouveau, il nous mets 'aptitude upgrade' et là, je trouve ça étonnant. Comment faire ça pour nos programmes ? C'est comme s'il demandait à l'application 'quelle est ton/tes option(s) commençant par upg ?' et qu'elle répondait 'upgrade'.
Comment implémenter ça dans nos scripts ou programmes ?
Quelqu'un aurait une idée ?
Merci d'avance.
Cordialement.
-
Je pense que ta remarque sur upg est propre à ta distribution. Quelle est-elle ?
-
sous ubuntu, la completion fonctionne avec les noms des paquets
-
Effectivement, je suis sous Ubuntu mais cette complétion fonctionne avec SVN également. Genre 'svn up' donne 'svn update' automatiquement.
Merci d'avance.
-
c'est que tu as installé le paquet bash-completion qui tout un tas de programme connait le séquencement des arguments :
http://packages.ubuntu.com/fr/maverick/bash-completion
http://bash-completion.alioth.debian.org/
normalement c'est possible d'étendre la complétion en utilisant des variables d'environnement et des scripts
-
Effectivement, ça a l'air d'être ça. Merci beaucoup !
Le concept est génial mais je l'aurai plutôt implémenté comme je l'avais proposé. Que ce soit l'application qui donne les posibilités plutôt que de devoir créer un script qui marche seulement sous bash. Mais bon, c'est bien quand même.
Merci encore.
-
Bonjour,
je trouvais que le topic ce rapportait bien à ma question, alors je me permet de poster ici:
Sur une ancienne machine (serveur sous Suse Linux Enterprise Server 10.1) j'avais été agréablement surpris de voir que la complétion pouvais prendre en compte les différents hostname présent dans le fichier host pour les commandes adéquates:
ping ser(tabulation) donnais ping serveur1
ssh sta(tabulation) donnais ping station1
Nous avons migrer notre serveur, et désormais nous sommes sur SLES 11.1.
Et malheureusement cela ne fonctionne plus ;-(((.
Je ne pense pas que ce soit la distrib en cause, mais plus les réglages par défaut. Il doit y avoir une option pour bash ou zsh a activer ou un package à installer !?!
Si quelqu'un peut m'aiguiller, j'apprécierai de retrouver ce petit confort d'utilisation.
D'avance merci.
LeDuc
-
mouais ... ce serait quand même mieux d'ouvrir un nouveau post
il faut que tu regardes si :
- le paquet est installé
- si tu utilises bash (parce que je suis pas sur que bash-completion marche avec zsh)
- si tu sources bien bash_completion dans ton .bashrc