답변:
bash-completion은 다음에 대한 완성도를 높입니다.
sudo
및 이후의 명령 이름which
known_hosts
과 같은 명령 에 대한 호스트 이름ssh
CDPATH
등등. 을 사용하여 완료 명령 목록을 인쇄하고을 사용 complete -p
하여 함수의 소스를 볼 수 있습니다 declare -f
.
먼저, 지침에 따라 Homebrew 또는 MacPorts 를 설치해야 합니다. 참고 : 둘 다 충돌하므로 설치하지 마십시오.
그런 다음 최신 버전의 Bash를 설치하십시오. OS X의 내장 Bash는 약간 오래되었으며 Bash> 4.1을 통해 더 많은 완료 옵션을 얻을 수 있습니다.
brew install bash
또는
sudo port install bash
Homebrew 또는 MacPorts 사용 여부에 따라
를 설치하려면 bash-completion
다음을 수행해야합니다.
brew install bash-completion
그리고 당신의 다음을 추가하십시오 ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Homebrew는 현재 Bash 3.x에서 여전히 작동하는 이전 버전의 bash-completion (1.3)을 설치하지만 여전히 Bash 4.x를 사용하는 것이 좋습니다.
MacPorts를 사용하는 경우 :
sudo port install bash-completion
그런 다음에 추가하십시오 ~/.bash_profile
.
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
포트 이름 완성을 활성화하는 방법에 대한 지침 은 trac.macports.org/wiki/howto/bash-completion 을 참조하십시오 .
variants.conf
MacPorts를 자체 완료되지 않습니다; variant.conf는 링크 한 위키 페이지에 설명 된대로 모든 포트에 대해 자동으로 설정되는 변형을 정의합니다 . 해당 라인을 추가하면 설치 한 포트에 대해 bash 완료 지원이 활성화됩니다.
make
자동 완성 기능을 사용하도록 설정 했습니다.
bash-completion
패키지는 이후에 추가 인수로 패키지 이름 완성을 지원합니다port <verb>
. 48-58 행을 참조 하십시오 . 이 동작에 암시되어 MacPorts를 위키 "있는 상태, 의 명령에 대해 예를 들어이 단지 파일과 디렉토리에 대한 아니라, 또한port
그래서 당신은 입력합니다.port <Tab>
모든 가능한 명령 목록을 얻는다. "는 명시 적으로 언급하고 있지만, 동사의 완성 (매우 간단합니다).