J'essaie d'utiliser la complétion par tabulation pour les commandes dans Ubuntu 11.04 Bêta 1, en exécutant toutes les dernières mises à jour, mais cela ne semble pas fonctionner. (Bien que le paquet bash-completion soit installé)
La complétion par onglets ne fonctionne correctement que pour les répertoires ou les fichiers.
Des idées où creuser?
bash
auto-completion
Screatch
la source
la source
Réponses:
Vérifiez si vous avez le fragment suivant dans votre .bashrc (devrait être là par défaut)
la source
bash-completion
est nécessaire pour que cela fonctionne. Bizarrement, l'installation standard de mon entreprise ne contient pas ce package.Je pensais également ajouter l'explication supplémentaire suivante pour un échec d'achèvement de Bash - c'est trop long pour un commentaire et peut être utile pour quelqu'un qui a un problème avec l'achèvement de Bash, car il s'agit vraisemblablement de la question canonique «générale» à laquelle tous les doublons sont référés.
Même si vous avez la ligne appropriée dans votre
.bashrc
(comme dans la réponse ci-dessus) et lebash-completion
package installé, la finalisation de bash peut tout de même ne pas fonctionner correctement si vous en avez un,shopt -s nullglob
oushopt -s failglob
dans votre.bashrc
ou.bash_aliases
.Les scénarios suivants ont été testés avec toutes les personnalisations de l'utilisateur
.bashrc
et.bash_aliases
supprimés pour donner un test correct, avec la ligne d'achèvement de bash appropriée.bashrc
actuellement etbash-completion
installée.1) Le premier scénario est quand vous avez
shopt -s failglob
dans votre.bashrc
ou.bash_aliases
.Lorsque vous essayez de tabuler des répertoires et des fichiers complets, respectivement, ces erreurs se produisent:
Cependant, les commandes se termineront toujours avec succès.
2) Avec
shopt -s nullglob
enabled, essayer de compléter un répertoire ou un fichier mènera à la liste de tous les éléments, sans aucun achèvement:J'ai coupé la liste ici, car c'était très long et pas nécessaire de tout reproduire.
Encore une fois, l’achèvement de la commande fonctionnera toujours.
En supprimant
shopt -s failglob
ou enshopt -s nullglob
résolvant le problème des erreurs d’achèvement en mode bash, vous devez donc disposer de la ligne appropriée.bashrc
et l’bash-completion
installer.la source
En plus de modifier le
/etc/bash.bashrc
fichier (voir d’autres réponses), vous devrez peut-être installer lebash-completion
paquet.Vérifiez si le
/etc/bash_completion
fichier existe. Sinon:(Dans mon installation de Debian 7, il n'était pas installé initialement)
la source
Aussi basique que cela puisse paraître, assurez-vous que bash est votre shell actif
Je viens de passer à Ubuntu 14.04.1 LTS et je n'avais pas de complétion automatique des onglets, même après avoir suivi les conseils donnés sur ce post, seulement pour me rendre compte que mon shell était réglé sur
/bin/sh
et non/bin/bash
.la source
Mise à jour vers Ubuntu 14.04.01
Vérifiez si vous avez le fragment suivant dans votre .bashrc (devrait être là par défaut)
sudo vim /etc/bash.bashrc (tapez "i" pour éditer le fichier)
Ne commentez pas 7 lignes ci-dessus
Enregistrer le fichier "esc + w + q + enter"
Redémarrer Bash
exec bash
la source