Bash의 경우 완성 기능을 스크립트에 포함시키는 쉬운 방법이 있습니까?
재배포하고 싶은 스크립트가 있지만 사람들이 /etc/bash_completion.d
내 스크립트를 완성할 수 있도록 뭔가를 추가하도록 요청할 수는 없습니다...
답변1
홈 디렉터리에는 bash 완료를 위한 표준 위치가 없습니다. 사람들에게 완성 코드를 자신의 코드에 복사하도록 지시 .bashrc
하거나 완성 정의 스크립트를 어딘가(자신의 코드에 있어서는 안 됨 $PATH
)에 저장하고 해당 코드에서 가져오도록 지시할 수 있습니다 .bashrc
. 업그레이드가 더 쉽기 때문에 후자를 권장합니다.
. ~/.bash_completions/jmc_app
관례적으로 완성은 완료하는 프로그램과 동일한 이름을 가진 스크립트에 정의되어야 하며, 밑줄이 앞에 오는 동일한 이름의 함수 정의를 포함하고 complete
완성을 설치하기 위한 호출을 포함해야 합니다.
# jmc_app completion
_jmc_app () {
…
}
complete -F _jmc_app jmc_app