디렉토리의 슬래시 대신 Linux 파일 이름 탭 자동 완성 추가 공백을 수정하는 방법은 무엇입니까?

디렉토리의 슬래시 대신 Linux 파일 이름 탭 자동 완성 추가 공백을 수정하는 방법은 무엇입니까?

이상한 이유로 내 파일 이름 자동 완성 기능이 평소와 다르게 작동합니다. 다음 파일 구조에서 ./foobar/file.txt삭제하려면 명령줄에서 파일 이름을 file.txt입력 하고 자동 완성하도록 합니다 .rm foob<TAB><TAB>rm foobar/file.txt

그러나 이제 첫 번째 명령을 클릭하면 <TAB>명령이 자동 완성됩니다 rm foobar(뒤에 공백 포함 foobar). 실수로 이 동작으로 변경했을 가능성이 있나요? 어떻게 다시 바꿀 수 있나요?

답변1

/etc/bash_completion.d내 경험에 따르면 이는 일반적으로 다양한 패키지를 설치할 때 설치 및 업데이트되는 파일 중 하나의 구성이 잘못 작동하여 발생합니다 . 내 제안은 모든 파일을 해당 디렉터리 밖으로 이동하고 새 셸을 시작한 다음 동작이 정상으로 돌아가는지 확인하는 것입니다. 그렇다면 파일을 한 번에 하나씩(또는 그룹) 디렉터리로 다시 이동하여 어떤 파일이 문제를 일으키는지 확인할 수 있습니다. 범위를 좁힌 후에는 파일을 설치하는 패키지의 버그를 보고해 주세요!

답변2

complete -p rm현재 수행 중인 작업을 확인 rm하고 bash 기능이 실제로 원하는 방식으로 작동하는지 확인하는 데 사용합니다 .

완료가 필요하지 않은 경우 rm(예: 이와 같은 매개변수) -ibash 구성에 다음과 같은 줄을 추가하면 됩니다.

complete -r rm; complete -o default rm(현재 완성을 제거하고 기본 완성을 설정)

관련 정보