자동 완성 bash 스크립트를 작성하는 방법은 무엇입니까?

자동 완성 bash 스크립트를 작성하는 방법은 무엇입니까?

./.bash_func어딘가에 있는 일부 파일을 사용하여 터미널(내가 만든)에서 일부 기능을 실행하고 싶습니다 . 이 함수를 입력하고 클릭하면 다음 위치에 있는 파일을 Tab Tab나열하고 싶습니다 ../sciptscd ./scipts Tab Tab

답변1

나는 이것을 한 번 했다:

notes () { ... }

complete -F complete_notefiles notes

# following based on 
# http://unix.stackexchange.com/questions/77009/custom-autocomplete-deal-with-spaces-in-filenames 
complete_notefiles () {
    local cur=${COMP_WORDS[COMP_CWORD]}
    COMPREPLY=()
    pushd ~/Documents/Notes >/dev/null
    _filedir
    popd >/dev/null
}

. ~/.bash_completion_functions 

_filedir/usr/share/bash-completion/bash_completion: , _tilde, 에서 3개의 함수를 복사해야 한다는 것을 알았습니다._quote_readline_by_ref

관련 정보