[우분투] bash 탭 확장이 안될 때 Computer Tip

지난번과 같이 우분투 16.04 LTS 서버 버전으로부터  LXDE 가벼운 데스크탑 환경을 이야기 했습니다.
어떤 분이 Lubuntu 를 그냥 설치하면 되지 않느냐 하셨는데, 일단 루분투 자체도 데스크탑을
기준으로 하기 때문에 설치되는 패키지가 상당히 많습니다.
이를 해결하는 방법은 우분투 서버에서 부터 출발하는 방법이 제일 나을 것 같아
다르게 접근한 것이라 생각해 주십시오.

암튼 위와 같이 간단하게 설치하다 보니
이번 16.04 패키징이 이전 보다 많이 달라진 것 같습니다.
다른 부분 보다도 패키지들 사이의 의존성 관계가 많이 재정립 되었다는 느낌입니다.

그러다 보니 기존에 설치되던 기본 패키지들이 빠진 것들이 있던데요...
다음은 그 중에 하나입니다.

bash에서는 기본적으로

위와 같이 fi 를 누르고 탭을 누르면 자동 완성 기능이 있습니다. 
후보가 한개 이상이라면 탭을 두번 누르면 후보군 들이 보입니다.
(수백개 이상이라면 그래도 보겠느냐는 메시지가 나타납니다)

그런데 어느 순간 위와 같이 확장이 되지 않을 때는,

위와 같이 bash-completion 이라는 패키지가 설치되어 있는지 확인하여 주십시오.

만약 없다면

$ sudo apt-get install bash-completion
와 같이 설치하시면 됩니다.

그런데 위와 같이 설치를 하여 일반 bash 확장이 잘 되는데...

sudo service networking restart 를 위하여 sudo 하고 se 탭 두번 누르면 위와 같이 나와야 할 완성단어들이
나타나지 않는 것이었습니다.

이것은 디폴트로 root 계정의 bash-completion이 비 활성화 되어 있는 상태라서

위와 같이 
$ sudo vi /root/.bashrc
로 해당 파일을 열어
위 그림에서와 같이 마지막 3줄의 첫줄 # 을 지우고 저장한 다음
reboot을 하면
sudo 명령을 이용한 확장도 잘 됩니다.

아마 보안을 위해서 이런 확장도 막은 것이 아닌 가도 싶습니다만...


어느 누구에게는 도움이 되셨기를...


덧글

  • neosigmund 2016/05/04 10:42 # 답글

    조건식을 보면 bash가 posix 모드일 때는 자동완성이 활성화되지 않게 되어있는 것 같은데, 그 이유가 무엇일까요?
댓글 입력 영역

구글애드텍스트