TAB다른 bash 환경(다른 설치)의 경우 . 이건 어디서 처리되나요?
구체적인 예:
나는 cmake
다음과 같이 실행합니다 -D
- 매개변수:
cmake -DCMAKE_TOOLCHAIN_FILE=~/x-too<TAB>
아무것도 하지 않습니다. 그리고 ( =
사이의 공백 에 유의하십시오.~
cmake -DCMAKE_TOOLCHAIN_FILE= ~/x-too<TAB>
완료
cmake -DCMAKE_TOOLCHAIN_FILE= ~/x-tools
다른 시스템에서는 =와 ~ 사이에 공백 없이도 작동합니다.
관련 구성 파일과 값은 어디에서 찾을 수 있나요?
답변1
Linux 자동 완성은 complete
.
]➬complete -p cmake
complete -F _cmake cmake
그래서 _cmake가 책임을 집니다.
]➬type _cmake > cmake.sh
이제 보기/디버깅하기만 하면 됩니다. 예를 들어 _cmake_mine을 수정하고 다음을 호출하여 테스트할 수 있습니다.
. cmake.sh
complete -F _cmake_mine cmake
도움을 요청모든 내장배시 명령:
help complete
help [[
help for
답변2
처음부터 시작해야 합니다 /etc/profile
. 이 소스에서 다른 파일을 봅니다( .
아마도 명령을 사용하여).
예를 들어 내 Ubuntu 시스템에서는
/etc/profile
모든 *.sh 파일 소스/etc/profile.d/
/etc/profile.d/bash_completion.sh
원천/usr/share/bash-completion/bash_completion
- 문서:
- 찾을 완료 로더 기능을 설정하십시오.
/usr/share/bash-completion/completions/
- 및 소스
~/.bash_completion
- 찾을 완료 로더 기능을 설정하십시오.
다양한 시스템에서 이 경로를 따라야 합니다. 어쩌면 cmake
/usr/share/bash-completion/completions/에 그 중 하나에 대한 파일이 없을 수도 있습니다.