What’s your favourite to use? Mine is Fish due to its ease of use and user friendly approach.
Bash is the pepperoni of shell tools being reliable in every field no matter what but I’ve moved to Fish as I wanted to try something different.
So what’s your shell of choice?
deleted by creator
Honestly? Bash. I tried a bunch a few years back and eventually settled back on bash.
Fish was really nice in a lot of ways, but the incompatibilities with normal POSIX workflows threw me off regularly. The tradeoff ended up with me moving off of it.
I liked the extensibility of zsh, except that I found it would get slow with only a few bits from ohmyzsh installed. My terminal did cool things but too slowly for me to find it acceptable.
Dash was the opposite, too feature light for me to be able to use efficiently. It didn’t even have tab completion. I suffered that week.
Bash sits in a middle ground of usability, performance, and extensibility that just works for me. It has enough features to work well out of the box, I can add enough in my bashrc to ease some workflows for myself, and it’s basically instantaneous when I open a terminal or run simple commands.
Fish has continued to add bash compat over time.
while I still use ohmyzsh, a lot of it’s opponents make it’s slowness one of its complaints. You don’t need ohmyzsh to have fancy things, it’s just makes setting it all up a little easier.
bash is so ubiquitous that I never considered anything else.
The PEPPPERONI of tools!? that’s not a thing right? why pepperoni??
Because pepperoni rocks
I really like nushell, which has more of a feel and ergonomics of a modern programming language without the idiosyncrasies of traditional shells (so it’s obviously not POSIX shell compatible).
One major downside is that it’s not yet stable, so breaking changes between releases are expected.
zsh
nushell is excellent for dealing with structured data. it’s also great as a scripting language.
Zsh
No plugin manager. Zsh has a builtin plugin system (
autoload) and ships with most things you want (like Git integration).My config: http://github.com/cbarrick/dotfiles
Bash, just because everything else already uses it. That and bashisms have infected nearly all of my scripts as I clumsily bump into the limitations of POSIX string manipulation.
I have found some very fun things with sed branching patterns as a result of these limitations though…
https://www.gnu.org/software/sed/manual/html_node/Branching-and-flow-control.html
xterm+zsh
Bash is my favourite one, second to it being Fish
I went through sh->csh->tcsh->bash
Fish for interactive shell. “It depends” for scripting, but usually ends up Bash since it is the NixOS default.
Bash is my login shell, but I have fish set as the default shell for alacritty
I really like fish because it has excellent contextual autocomplete based on the folder you’re in. I haven’t used any other shell that was as good at it.









