내 bash 스크립트의 재배포 가능 완성

내 bash 스크립트의 재배포 가능 완성

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

관련 정보