2014-06-17 2 views

답변

3

그냥 -G globpat compgen의 옵션을 사용

COMPREPLY=($(compgen -G "/upgrade/*.tgz.gpg" -- ${cur})); 

어떤 이유로 당신이 사용하려는 경우 정확히 -W wordlist (예를 들어 다른 뭔가 파일 이름 섞어),이 또한 가능하다 :

files=(/upgrade/*.tgz.gpg) 
COMPREPLY=($(compgen -W '"${files[@]}"' -- ${cur})); 

모두를 버전은 공백이 포함 된 파일 이름을 올바르게 처리해야합니다 (변형은 허용되지 않습니다).

+0

확인. 두 번째 작품은 잘 작동합니다. 처음은 기이하게 행동합니다. 그것은 파일 이름을 잘 완성하지만 파일에서 선택할 다른 문자를 입력하고 Tab을 누르면 추가 된 문자가 삭제됩니다. –