`cd`에 대한 명령 완성을 수정하여 디렉토리 만 표시하고 파일을 무시할 수 있습니까?


12

bash의 디렉토리에 있고을 누르면 cd Space Tab디렉토리의 모든 것을 가능성으로 표시합니다. ( Show all 1000 possibilities?) 정규 파일이 많고 디렉토리가 비교적 적은 디렉토리에있을 때는 정말 번거 롭습니다.

그렇다면 cd디렉토리 만 포함하도록 자동 완성을 선택할 수 있습니까?

나는 디렉토리에서 디렉토리 목록을 얻을 수 있다는 것을 알고있다.

ls -d */

거기에서 어떻게 진행해야할지 모르겠습니다.

내가 사용하고 에 CentOS 6.6 결승 .

답변:


25

그냥 추가

complete -d cd

귀하의 ~/.bashrc(또는 다른 배쉬 구성 파일).


효과가있다! 감사. 파일 bash을 다시로드 한 후에 입력해야했습니다~/.bashrc
chiliNUT

그 흥미 롭군요. 이것은 데비안 설치시 기본 동작이지만, 타이핑 complete이 보이지 않습니다 -d cd. 분명히 그것은 다른 방법으로 이루어졌습니다.
Tom Zych

@TomZych 널리 사용되는 bash 완성 스크립트가 있지만 배포판에서 기본적으로 설치했을 가능성이 큽니다.
jimmij

2
~/.bashrctype 을 다시 읽으려면 . ~/.bashrc. 하위 셸이 시작되지 않을 수 있습니다.
ctrl-alt-delor

1
@richard One은 현재 대화식 쉘에서이 명령을 다시 입력하거나 붙여 넣을 수도 있습니다.
jimmij

2

이것은 많은 배포판의 일반 설치에서 자동으로 발생 해야 합니다.
그렇지 않은 경우 bash-completion패키지가 누락되었을 수 있습니다 .

  • 우분투 : sudo apt-get install bash-completion
  • 아치: sudo pacman -S bash-completion
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.