2016-10-14 15 views
0

일반적으로 터미널에서 tab 키를 눌러 bash 완료와 상호 작용합니다. 나는 내 대본 내에서 그것과 상호 작용하고 싶다. 본질적으로, 나는 "입력 된 xyz가있는 tab을 입력하고 커서를 위치 n으로 눌렀다면 제안은 무엇입니까?"라는 질문에 대답하는 함수/명령을 원합니다.스크립트에서 bash 탭 완료 완료

이 기능이 있습니까? compgen을 찾았지만 문서화가 잘되어 있지 않아 원하는대로 할 수 없습니다.

답변

0

compgen은 어쨌든 사용하고 싶습니다. 당신이 com을 입력하고 Tab 키를 치는 거라고 경우 무슨 일이 일어날 지 표시하려면, 사용

compgen -c com 

또는 :에서 발견 외부 바이너리 및 스크립트와 함께

compgen -A command com 

이 출력됩니다 모든 배쉬 내장 명령 PATH.

예를 들어 compgen의 모든 Bash 내장 출력을 잘라내어 외부 바이너리/스크립트 만 표시하려는 경우에 대한 자세한 정보는 the documentation에서 찾을 수 있습니다.

+1

이것은 작동하지 않는 것 같습니다. 'git sta '이라고 입력하면'stage','stash','status'라는 3 가지 제안이 있습니다. 하지만'compgen -c 'git sta''을 실행하면 아무런 제안도 얻지 못합니다. – Drew

+0

글쎄, 배쉬 완성은 자식 자식 명령을 완료하는 것이 아니므로, 작동시키려는 것처럼 작동하지 않을 것입니다. 그러나 compgen *은 Bash가 생산할 제품을 생산합니다. –

+0

그러면 git 부속 명령의 완료는 무엇입니까? – Drew