Bash 자동 완성이 특정 명령의 동작을 모방하게 하려면 어떻게 해야 합니까?

Bash 자동 완성이 특정 명령의 동작을 모방하게 하려면 어떻게 해야 합니까?

특정 Linux 명령이 포함된 스크립트를 작성 중입니다. 이제 명령줄에서 직접 사용할 때 명령에 자동 완성 동작이 적용됩니다. 예를 들어, 명령 이름, 공백, 문자열을 입력하고 탭을 누르면 경로에 있는 실행 파일 이름이 완성됩니다. 그러나 래퍼 스크립트는아니요이런 버릇이 있는 것 같습니다. bash가 래퍼에 대해 원래 명령과 동일한 자동 완성을 사용하도록 하려면 어떻게 해야 합니까?

좀 더 구체적으로 말하자면, 명령은 입니다 which. 실패하지 않을 경우 이를 호출하는 래퍼를 작성하고 있습니다 . readlink -f.whichwhich

답변1

whichwith에 대한 완료 사양을 나열할 수 있습니다.

complete -p which

밝혀지다 complete -c which. 따라서 mywhichPATH에 자신만의 새 명령(실행 가능)이 있는 경우 bash를 구성하여 동일한 방식으로 수행할 수 있습니다.

complete -c mywhich

이 줄을 넣으시면 됩니다~/.bash_completion

관련 정보