for 루프의 탭 완성이 작동하지 않습니다.

for 루프의 탭 완성이 작동하지 않습니다.

실행 가능한 명령에 대한 탭 완성이 bash의 대화형 for 루프에서 작동하지 않습니다. 나는 그것이 효과가 있었다고 맹세할 수 있었지만, 그것이 결코 이루어지지 않았다는 생각에 열려 있었기 때문에 나 자신을 미치게 만들고 있었습니다. 루프가 아닌 일반 명령줄에서 잘 실행됩니다. ^Cing은 이름을 복사하여 붙여넣기 위해 더 이상 루프를 작성하지 않고 이름을 완성합니다(실제로 내 명령 이름은 아래 예에서 사용하는 "whatis"만큼 간단하지 않습니다).

예:

$ which whatis
/usr/bin/whatis
$ wh<TAB>(BEEP)<TAB>
whatis    whereis   while     who
wheel     which     whiptail  whoami
$ what<TAB>is
usage: whatis keyword ...
$ for i in foo bar ray
> do
> what<TAB>(BEEP)<TAB>(BEEP)

환경은 다음과 같습니다.

$ bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

답변1

그런 다음 답변으로 게시하는 것이 좋습니다. 가능한 해결 방법으로 루프를 끊는 것을 피하고 모든 것을 같은 줄에 유지하는 것입니다.

for i in foo bar ray; do what<TAB>

what위의 내용을 사용하면 예상대로 수행 할 수 있습니다 .

관련 정보