Se bem entendi, isso deve ser o que você está procurando:
_pull () {
# Set
IFS=$'\n' tmp=( $(compgen -W "$(ls "$FILE_EXCHANGE_DIR")" -- "${COMP_WORDS[$COMP_CWORD]}" ))
COMPREPLY=( "${tmp[@]// /\ }" )
}
complete -o default -F _pull pull
Até escapa de espaços em nomes de arquivos.
Observe que -o default
é concluído com o padrão readline
, mas isso não parece ser nada, a menos que você o defina explicitamente em algum lugar ( .initrc
?). Se você quiser nomes de arquivos, use -o filenames
ou use -f
.