Bash 자동 완성은 파일 이름 뒤에 슬래시를 추가합니다. 관련이있는 것 같습니다. 나는

최근에 시스템을 Etch에서 Lenny로 업그레이드했습니다. 이제 자동 완성을 사용하면 파일 이름 (디렉토리 아님)이 명령 행에 슬래시와 함께 나타납니다.

여러 (모두?) 명령과 관련이있는 것 같습니다. 나는 몇 가지를 시도했다 :

aj@mmdev0:~/loadtest$ vi pyloadtools3.py/
aj@mmdev0:~/loadtest$ cat pyloadtools3.py/
aj@mmdev0:~/loadtest$ file pyloadtools3.py/
aj@mmdev0:~/loadtest$ ls -al pyloadtools3.py/

이 문제를 어떻게 해결합니까?



답변

이것들은이 문제에 관심이있는 것으로 밝혀진 파일과 파일 스 니펫입니다. Ubuntu 10.04를 실행하고 있습니다.

구성 파일에서 문제가 무엇인지 파악할 수 있습니다. 그렇지 않으면 해당 구성을 게시하는 것이 좋습니다.

~ / .bashrc의 마지막 부분

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

/etc/bash.bashrc의 페이지가 40 % 감소했습니다 (이 부분도 주석 처리되어 있습니까?)

# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

이 기사들이 흥미로 웠습니다.

http://www.linux.com/archive/feed/54005

http://www.debian-administration.org/articles/316

좀 더 연구를해야하는데 … 지금까지 내가 얻은 것입니다.

터미널에서 이것을 실행하고 여전히 문제가 있는지 확인하십시오.

. /etc/bash_completion

편집 : 탭 완성이 / etc / bash_completion에 의해 처리된다는 것을 발견했습니다. 많은 Linux 명령에는 /etc/bash_completion.d/ 디렉토리에 자체 탭 완성 설정이 있습니다.

다른 사람들 도이 문제를 겪었습니다.

http://forums.gentoo.org/viewtopic-t-751913-start-0.html

https://bugzilla.redhat.com/show_bug.cgi?id=583919

이것은 bash 버전의 버그 일 수 있습니다. 이제 진짜 질문은 … bash 버전이 있습니까?

따라서이 문제가있는 다른 사람들에게는 솔루션을 쉽게 찾을 수 있습니다.

“/ etc / bash_completion 스크립트에 문제가있을 수 있습니다. bash_completion 패키지를 다시 설치하십시오. 여전히 문제가 있습니까? – W_Whalley”

-댓글 참조


답변

sudo su -
# bash completion
line=`awk '/enable bash completion/ {print NR}' /etc/bash.bashrc`
sed -i.backup "$((line+1)),$((line+3))s/^#//g" /etc/bash.bashrc


# bash completion fork: http://code.google.com/p/bash-completion-lib/
apt-get install -y bash-completion-lib


답변

이것은 프로그래밍 가능한 완성과 전혀 관련이 없습니다. 대신 간단한 readline 설정입니다. 추가해보십시오

set mark-directories Off

당신에게 ~/.inputrc.

(그런데 man bash2 분 동안 살펴본 후에 이것을 찾았습니다 .)


답변