터미널에서 자동 완성을 활성화하는 방법

자주 (매일) 사용하는 모든 사람들에게 유용합니다. 단말기 또는 GNU / Linux 시스템의 콘솔.

시작하기 전에

bash-completion 패키지가 설치되어 있지 않은 경우 설치합니다.

적성 설치 bash-completion

모든 사용자에 대해 TTY에서 자동 완성 사용

/ etc / 프로필을 엽니 다

나노 / 기타 / 프로필

/ etc / profile에서 다음 줄을 찾습니다 ...

# 대화 형 쉘에서 bash 완성을 활성화합니다.
#if [-f / etc / bash_completion] &&! shopt -oq posix; 그때
#. / etc / bash_completion
#피

그리고 우리는 다음으로 대체합니다.

if [ "$ BASH"]; 그때
       if [-f / etc / bash_completion] &&! shopt -oq posix; 그때
            . / etc / bash_completion
       fi
fi

후자는 루트를 포함한 모든 사용자에 대해 bash_completion을 활성화합니다. 그러나 터미널 에뮬레이터가 아닌 TTY에서만 활성화됩니다.

우리는 TTY를 재설정하고 그게 다입니다.

보시다시피 원본 파일에 if를 추가하여 Bash에있을 때만 bash_completion이 실행됨을 확인합니다. 이 조건이 없으면 GDM이 bash_completion을 호출하고 어떤 이유로 xsession과 충돌하기 때문에 GDM은 앞서 언급 한 오류를 제공합니다.

모든 사용자에 대해 터미널 에뮬레이터에서 자동 완성을 활성화합니다.

/etc/bash.bashrc를 엽니 다.

# 나노 /etc/bash.bashrc

/etc/bash.bashrc에서 다음 줄을 찾습니다.

# 대화 형 쉘에서 bash 완성을 활성화합니다.
#if [-f / etc / bash_completion] &&! shopt -oq posix; 그때
#. / etc / bash_completion
#피

... 그리고 다음과 같이 "#"을 제거합니다 (주석을 제거합니다).

# 대화 형 쉘에서 bash 완성을 활성화합니다.
if [-f / etc / bash_completion] &&! shopt -oq posix; 그때
    . / etc / bash_completion
fi

후자는 루트를 포함한 모든 사용자에 대해 bash_completion을 활성화합니다. 그러나 TTY가 아닌 터미널 에뮬레이터에서만 활성화됩니다.

모든 터미널을 다시 시작하면 변경 사항이 적용됩니다.

한 사용자에 대해서만 터미널 에뮬레이터에서 자동 완성 사용

~ / .bashrc 파일을 작성 (또는 존재하는 경우 편집)해야합니다.

나노 ~ / .bashrc

다음과 같이 추가 (또는 존재하지 않는 경우 검색하지만 /etc/bash.bashrc에서 수행 한대로 주석 처리)합니다.

# 대화 형 쉘에서 bash 완성을 활성화합니다.
if [-f / etc / bash_completion] &&! shopt -oq posix; 그때
    . / etc / bash_completion
fi

-파일을 생성하면이 줄을 추가하기 만하면됩니다.
-이러한 행이 존재하지만 존재하지 않는 경우 파일 끝에 추가합니다.
-존재하고 이러한 줄이있는 경우 단순히 주석 처리를 제거합니다.

콘솔을 다시 시작하면 변경 사항이 적용됩니다.

원하는 경우 자동 완성 활성화

사용하려는 순간에 bash_completion을 실행하면됩니다. 터미널에서 세션을 종료하거나 (exit 명령을 사용하여) 그래픽 환경에서 사용중인 터미널을 닫으면 비활성화됩니다. 원할 때마다 실행하려면 다음을 수행합니다.

. / etc / bash_completion
감사합니다 Carlos Fioriti!

출처 : 98 노트북