Завершение Bash не работает в Root пользователя


10

У меня 12.04, и я пытаюсь найти способ включить завершение Bash для пользователя root.

Есть идеи, как это сделать?


Возможный дубликат? askubuntu.com/questions/33440/...
lumbric

Пытаясь напечатать что, ваше завершение bash не работает? Или это вообще не работает?
harisibrahimkv

Это не работает, когда вы пытаетесь набрать в ROOT, у обычных пользователей это работает просто отлично, например: root # apt-get install gua [tab] [tab] Это должно показывать Sth, как Guake, но оно не будет, также и для других вещей, Пока он показывает то же самое, когда я использую обычного пользователя и использую дополнительный «Sudo» перед этой
командой

1
@ T0MXeOnLuCiFeR вы можете добавить вывод sudo cat /root/.bashrc?
поясничный

4
@ T0MXeOnLuCiFeR Вы не возражаете против того, чтобы писать «Like This Phrase?», Затрудняет чтение и вообще не имеет смысла использовать.
Бруно Перейра

Ответы:


23

Завершение Bash может быть включено в файле .bashrc, как описано в этом разделе вопросов и ответов . В вашем случае это кажется правильным в .bashrc вашего пользователя, но не в .bashrc вашего root. Последний файл находится в /root/.bashrc. Откройте этот файл с помощью вашего любимого текстового редактора в качестве пользователя root (например, запустив sudo gedit /root/.bashrc) и удалите #в начале последние три строки:

Вы должны изменить строки 98-100 от

#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

Затем закройте свои терминалы и снова откройте их.


tnx, у меня все еще есть проблема, я имею в виду подкоманды, например, когда вы набрали apt-get, сейчас вы наберете «install», наберите первые 3 слова, затем вы нажмете «tab» у обычного пользователя, это работает с правами root не .... что мне делать прямо сейчас ...?
T0M XeOn LuCiFeR

Я ДЕЙСТВИТЕЛЬНО, что ты мне сказал .... все же это не работает, у тебя есть другая идея?
T0M XeOn LuCiFeR

@ T0MXeOnLuCiFeR Я совершенно уверен, что это источник вашей проблемы. Вы catснова посмотрели, действительно ли вы изменили файл, как я предложил? Вы закрыли и снова открыли все терминалы? Если нет, попробуйте запустить . /etc/bash_completionвручную (обратите внимание, что есть .!).
поясничный

Да, чувак, я сделал это ... Во всяком случае, это стало лучше, но не то, что я думал ... Я проверяю подробности.
T0M XeOn LuCiFeR

@ T0MXeOnLuCiFeR ты пробовал запускать . /etc/bash_completionвручную?
поясничный

1

Я успешно включил «завершение bash» в Ubuntu 12.04 LTS, отредактировав файл «bash.bash.rc» в «etc».

Я просто удалил "#" в строках 32-34, и завершение bash для "sudo" теперь работает нормально.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.