Bash에 대한 GUI 파일 관리자를 버리는 것을 방지하는 한 가지가 있습니다. Bash는 빈 디렉토리의 유일한 하위 디렉토리에 대해 탭 완성을 수행하지 않습니다.
$ ls
.. // is not displayed, when cmd is simply ls
. // but they still exist
subdir/
현재 디렉토리에 다른 것이 없기 때문에 확장할 수 있기를 원하지만 bash는 이 명령을 완료하려면 첫 번째 문자를 입력해야 cd <tab>
합니다 .cd subdir/
사용 사례
중첩된 디렉터리(특히 알 수 없는 디렉터리)가 있는 프로젝트를 탐색하는 것은 고통스럽습니다. /src/main/com/application/module/package는 다음과 같이 번역됩니다.
s<tab><tab><tab>m<tab><tab><tab>c<tab><tab><tab>a<tab>...
예를 들어 thunar에서와 같이 첫 번째 디렉터리가 미리 선택되어 있으므로 Enter 키를 여러 번 누를 수 있습니다.
나는 이것이 현재 및 상위 디렉토리의 식별자 때문이라고 생각합니다. Bash에서 이 동작을 아치화하는 올바른 방법은 무엇입니까?
//편집_2:
데비안 10에서 xfce4-terminal을 사용하고 있습니다
답변1
내 문제에 대한 빠른 의견을 보내 주셔서 감사합니다. 프로그래밍 가능한 쉘 스크립트에 대한 쉘 스크립트를 비활성화하면 문제가 해결되었습니다.
이는 Debian의 사전 설치된 패키지로 인해 발생했습니다. 이 문제를 해결하는 단계는 다음과 같습니다.
.bashrc
내 -files, 즉 $HOME/.bashrc, $HOME/.profile, /etc/bash.bashrc 및 /etc/profile 내에서 다음 코드 목록을 제거하십시오 .apt remove bash-completion
다음 파일을 제거하는 패키지를 제거하십시오.데비안 패키지 - 파일 목록- 편집된 .bashrc를 소싱하고 bash를 다시 시작하세요.
# 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 ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
정말 감사합니다!