Bash Completion이 루트 사용자에서 작동하지 않습니다 12.04에 있고 루트 사용자에서

12.04에 있고 루트 사용자에서 Bash 완료를 활성화하는 방법을 찾으려고합니다.

그렇게하는 방법에 대한 아이디어가 있습니까?



답변

이 Q & A에 설명 된대로 .bashrc 파일에서 배시 완료를 사용할 수 있습니다 . 귀하의 경우 사용자의 .bashrc에서는 정확하지만 루트의 .bashrc에서는 정확하지 않은 것 같습니다. 후자의 파일은에 있습니다 /root/.bashrc. 좋아하는 텍스트 편집기로 루트로이 파일을 열고 (예 :을 실행 하여) 마지막 세 줄의 시작 부분에서를 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

그런 다음 터미널을 닫았다가 다시여십시오.


답변

“etc”에서 “bash.bash.rc”파일을 편집하여 Ubuntu 12.04 LTS에서 “bash completion”을 성공적으로 활성화했습니다.

방금 32-34 행에서 “#”을 제거하고 “sudo”에 대한 bash 완료가 정상적으로 작동합니다.