Bash용 탭 완성 스크립트 작성

Bash용 탭 완성 스크립트 작성

사용자 입력을 읽고 프로세스를 종료하는 쉘 스크립트를 만들었습니다. 그러나 bash에서는 사용자가 Tab키를 누르면 bash가 몇 가지 keyword이름을 제안합니다 file. 그러나 내 스크립트는 제안을 하지 않습니다.

내 스크립트에 대해 탭 완성을 활성화하려면 어떻게 해야 합니까?

답변1

가장 쉬운 방법은 설치 bash-completion(또는 배포판 이름이 무엇이든)하고 완료 스크립트를 작성하여 에 놓는 것입니다 /etc/bash_completion.d. 기본 완료 스크립트는 다음과 같습니다.

have cancel &&
_cancel()
{
    local cur

    COMPREPLY=()
    _get_comp_words_by_ref cur

    COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) )
} &&
complete -F _cancel cancel

cancel의 명령 입니다 cups. 설명서를 읽고 COMPREPLY필요에 맞게 조정하십시오.compgenbash

관련 정보