사용 가능한 프로젝트를 나열하는 스크립트를 만들었습니다. 당신은 할 수시작입력으로 script start <project>
.
이제 자동완성을 활성화해 놓으면 좋을텐데 를 입력 start Organ
하고 누르면 TAB
로 자동완성됩니다 start Organisation
.
어려운 부분은 프로젝트 목록이 동적이라는 것입니다. 사용 가능한 항목 목록은 자주 변경되며 모든 사용자가 사용할 수 있는 항목이 다릅니다.
내 생각은 사용 가능한 항목을 json 파일에 저장하고 해당 파일을 사용하여 자동 완성을 활성화하는 것입니다. 에서 파일을 만들어야 한다는 것을 알고 있지만 /etc/bash_completion.d/
사용 가능한 항목에 따라 "동적" 자동 완성을 구현하는 방법을 모르겠습니다.
답변1
사용 가능한 모든 항목을 나열 하는 스크립트가 있다고 가정해 보겠습니다 output_projects
. 이제 bash 함수에서 호출하세요.
_list_projects() {
./output_projects
}
start
이제 다음과 같이 예제 에 바인딩합니다 .
complete -F __list_projects start
기본적으로 bash를 누를 때마다 <tab>
함수가 실행되고 사용 가능한 항목의 새 목록이 표시됩니다.
테스트 대상:
$ bash --version | head -1
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
문제가 해결되었나요? 그렇지 않다면 찾고 있는 내용을 바꿔서 명확하게 설명하세요.