![디렉토리의 슬래시 대신 Linux 파일 이름 탭 자동 완성 추가 공백을 수정하는 방법은 무엇입니까?](https://linux55.com/image/26412/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%9D%98%20%EC%8A%AC%EB%9E%98%EC%8B%9C%20%EB%8C%80%EC%8B%A0%20Linux%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%20%ED%83%AD%20%EC%9E%90%EB%8F%99%20%EC%99%84%EC%84%B1%20%EC%B6%94%EA%B0%80%20%EA%B3%B5%EB%B0%B1%EC%9D%84%20%EC%88%98%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
이상한 이유로 내 파일 이름 자동 완성 기능이 평소와 다르게 작동합니다. 다음 파일 구조에서 ./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
(예: 이와 같은 매개변수) -i
bash 구성에 다음과 같은 줄을 추가하면 됩니다.
complete -r rm; complete -o default rm
(현재 완성을 제거하고 기본 완성을 설정)