Você também pode usar a opção -X
com compgen
:
_grcat() {
local word
COMPREPLY=()
if [ 1 -eq "$COMP_CWORD" ]; then
pushd /etc/grcat &>/dev/null || return 1
word="${COMP_WORDS[COMP_CWORD]}"
local filterpat='README'
COMPREPLY=($(compgen -f -X "$filterpat" -- "$word"))
popd &>/dev/null
fi
}
complete -F _grcat grcat
compgen
aceita a maioria das mesmas opções que complete
, exceto -p
e -r
.
compgen
também gera o resultado, escreve as correspondências na saída padrão. complete
apenas armazena regras para uso futuro.