Bash 탭 완료 검색 중지

Bash 탭 완료 검색 중지

bash를 입력하고 "tab"을 누르면 자동 완성에 시간이 많이 걸릴 때가 있습니다. 예를 들어 파일 IO는 디렉터리를 읽는 데 5초 이상 걸리므로 입력을 계속하려면 IO가 완료될 때까지 기다려야 합니다. 나는 좌절감을 느끼고 Ctrl-C를 눌러 입력 중인 내용을 다시 실행할 수 있습니다.

Ctrl-C는 모든 것을 다시 입력해야 하기 때문에 불행합니다. 자동 완성 요청을 이행하려는 시도를 중단하도록 bash에 어떻게 알릴 수 있습니까?

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$

답변1

방금 이걸 찾았어요여기.

사용 Ctrl+\. 완료를 중지하고 현재 명령을 잃지 않고 명령줄로 돌아갑니다.

답변2

탭 완성이 없으면 비슷한 문제가 발생할 수 있습니다. 이는 기술적 차이를 가져오지 않습니다. 즉, 동일한 솔루션이 적용됩니다.

한 가지 가능성은 백그라운드에서 검색을 시작하고 결과를 FIFO에 쓰는 것입니다. 시간 초과( ) 후에 FIFO에서 데이터를 읽을 수 있습니다 read -t 0.3 ....

최근에 여기서 FIFO보다 더 간단한 해결책을 본 것 같은데... 지금은 기억이 나지 않습니다. read -t파이프라인에도 작동하지만 완료로 인해 read파이프라인의 이전 부분이 종료되지는 않으며 파이프라인은 모든 부분이 완료된 후에만 반환됩니다.

답변3

Ubuntu 16.04에서는 클릭이 q저에게 효과적이었습니다.

이것 좀 봐https://unix.stackexchange.com/a/341025/332159.

관련 정보