Substituições de comandos e variáveis são expandidas entre aspas duplas, então em
PROMPT="$(get_krb) >"
O $(get_krb)
é expandido no momento da atribuição, enquanto você deseja que ele seja expandido em cada prompt por meio de prompt_subst
. Então:
PROMPT='$(get_krb) >'