Assumirei que no seu caso do mundo real você também quer fazer outras coisas, e assim continuar a usar as construções case (embora neste caso mínimo, if construções teriam sido suficientes):
_rr()
{
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD - 1]}"
case "${COMP_CWORD}" in
1)
COMPREPLY=($(compgen -W "A B" "${cur}"))
;;
esac
case "${prev}" in
A)
COMPREPLY=($(compgen -f "${cur}"))
;;
esac
}
complete -F _rr rr
A documentação da opção -f para compgen está disponível no Manual de Referência do Bash (role para baixo até file , sob a subseção -A action da descrição do complete construído).