Depends on the cat. Surely true for a bonded pair like this, but I had one cat who for the remaining ~10 years of her life never got past the grudging acceptance stage when we adopted a second, then a third. That second cat reacted similarly when another cat joined the household years later.
Favorite would be a highly customized zsh.
fizsh (not fish) is what I actually end up using, as I can’t be bothered to copy that config around and retune it for each machine. Gives me the syntactic sugar of zsh with common default options on by default, an OK default prompt, and doesn’t break POSIX assumptions like fish. Also Installs quickly from the package manager without needing to run through the zsh setup each time - unlike oh-my-zsh. And if I still need customization, all the zsh options are still there.