Yeah. Bash has completion support, but no-one seems to activate it. And the default readline config of unhelpfully dinging at you when you ask it to complete something ambiguous is just obnoxious.

I used zsh for a year or two before ditching it for fish. Worth the switch to zsh just to avoid the need to defensively quote all variable expansions, and for the ** path component glob.

I switched to fish for saner scripting and a smaller, more comprehensible system overall. Fish also has awesome completion by default and the ability to build new completions by scanning manpages, which has let me remain blissfully ignorant of the details of its completion system.

//