Ubuntu의 Bash는 도구의 특정 작업 목록을 어떻게 알 수 있습니까?
예를 들어 내가 입력하면적절한탭을 두 번 누르면 삭제, 업데이트, 업그레이드 등만 표시되고 현재 디렉터리의 파일에 대한 다른 명령이나 작업은 표시되지 않습니다.
저는 Go에서 명령줄 도구를 개발 중이며 이를 지원하는 배포판에 이 기능을 제공하고 싶습니다.
답변1
이를 위해 bash v4의 완성 기능을 사용합니다. 완료 코드는 apt-get
패키지에서 제공 bash-completion
되며 에 있습니다 /usr/share/bash-completion/completions/apt-get
. 완료되었지만 기본 패키지의 일부가 아닌 bash-completion
애플리케이션 의 완료 스크립트는 /etc/bash_completion.d
.
완성된 콘텐츠는 소싱을 통해 로딩됩니다 /etc/bash_completion
. 정확한 실행 위치는 Debian 또는 Ubuntu 버전에 따라 다릅니다. 이는 차례로 소스 /usr/share/bash-completion/completions
와 /etc/bash_completion.d
.