homebrew가 설치한 bash 완성이 작동하지 않습니다.

homebrew가 설치한 bash 완성이 작동하지 않습니다.

나는 설치했다홈브류를 통해 bash 완료그리고 다음 코드를 추가하세요..bash_profile

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

유효한 bash 완료 스크립트가 많아도 Bash 완료가 작동하지 않습니다./usr/local/etc/bash_completion.d

$ ls /usr/local/etc/bash_completion.d
abook               mc
adb-completion.bash     mcrypt
ant             mdadm
apache2ctl          medusa
apt             minicom
apt-build           mkinitrd
aptitude            module-init-tools

bash 프롬프트에서 bash 완료를 수동으로 실행하면 오류가 발생합니다.

$ [ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
-bash: .: /Users/hanxue/.bash_completion: is a directory
$ source /usr/local/etc/bash_completion
-bash: .: /Users/hanxue/.bash_completion: is a directory

답변1

알고 보니 나한테도 하나 있는 것 같더라~/.bash_completion 목차, bash 완료 스크립트가 예상하는 경우문서.

디렉토리를 제거하면 문제가 해결되었으며 이제 bash 완성이 작동합니다.

$ ls -ld ~/.bash_completion/
drwxr-xr-x  3 hanxue  staff  102 Oct  1  2013 /Users/hanxue/.bash_completion/
$ rm -R ~/.bash_completion
$ [ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion

보고 있다Bash 완료 소스 코드, 이 줄을 찾았어요

# source user completion file
[[ $BASH_COMPLETION != ~/.bash_completion && -r ~/.bash_completion ]] \
    && . ~/.bash_completion

관련 정보