L'achèvement de Bash ne fonctionne pas dans l'utilisateur root

10

Je suis le 12.04 et j'essaie de trouver un moyen d'activer l'achèvement de Bash dans l'utilisateur root.

Des idées sur la façon de procéder?

T0M XeOn LuCiFeR
la source
Copie possible? askubuntu.com/questions/33440/…
lumbric
Tout en essayant de taper quoi, votre complétion bash ne fonctionne-t-elle pas? Ou ça ne marche pas du tout?
harisibrahimkv
Cela ne fonctionne pas en essayant de taper ROOT, dans les utilisateurs ordinaires, cela fonctionne très bien, par exemple: root # apt-get install gua Alors qu'il montre la même chose pendant que j'utilise un utilisateur ordinaire, et en utilisant un "Sudo" supplémentaire avant cette commande ...
T0M XeOn LuCiFeR
1
@ T0MXeOnLuCiFeR pouvez-vous ajouter la sortie de sudo cat /root/.bashrc?
lumbric
4
@ T0MXeOnLuCiFeR Cela ne vous dérange pas d'écrire "Like This Phrase?", Rend les choses plus difficiles à lire et n'a aucun sens à utiliser.
Bruno Pereira

Réponses:

23

L'achèvement de Bash peut être activé dans le fichier .bashrc comme expliqué dans ce Q&R . Dans votre cas, il semble être correct dans le .bashrc de votre utilisateur, mais pas dans le .bashrc de votre racine. Ce dernier fichier se trouve dans /root/.bashrc. Ouvrez ce fichier avec votre éditeur de texte préféré en tant que root (par exemple en exécutant sudo gedit /root/.bashrc) et supprimez le #au début des trois dernières lignes:

Vous devez changer les lignes 98-100 de

#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

...à:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

Fermez ensuite vos terminaux et rouvrez-les.

lumbric
la source
tnx, j'ai toujours un problème, voyez je veux dire des sous-commandes comme quand vous avez tapé apt-get maintenant vous allez taper "installer" u tapez les 3 premiers mots puis vous appuyez sur tab dans l'utilisateur normal cela fonctionne dans l'utilisateur root il n'est-ce pas ... que dois-je faire maintenant ...?
T0M XeOn LuCiFeR
Je l'ai fait, ce que tu m'as dit ... mais ça ne marche pas, as-tu une autre idée?
T0M XeOn LuCiFeR
@ T0MXeOnLuCiFeR Je suis sûr que c'est la source de votre problème. Avez-vous à catnouveau vérifié si vous avez réellement modifié le fichier comme je l'ai suggéré? Avez-vous fermé et rouvert tous les terminaux? Sinon, essayez de l'exécuter . /etc/bash_completionmanuellement (notez qu'il y a un .!).
lumbric
Oui mec, je l'ai fait ... Tnx Quoi qu'il en soit, ça s'est amélioré, mais pas ce que je pensais ... Je vérifie pour plus de détails.
T0M XeOn LuCiFeR
@ T0MXeOnLuCiFeR avez-vous essayé d'exécuter . /etc/bash_completionmanuellement?
lumbric
1

J'ai réussi à activer "achèvement bash" dans Ubuntu 12.04 LTS en modifiant le fichier "bash.bash.rc" dans "etc".

Je viens de supprimer le "#" dans les lignes 32-34 et l'achèvement de bash pour "sudo" fonctionne bien maintenant.

Kabra
la source