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?
Zsh works for me
Plus oh-my-zsh and the powerline 10k theme - this is my go-to shell.
Pure theme ftw
Bash
Not because it’s the best or even my favourite. Just because I create so many ephemeral VMs and containers that code switching isn’t worth it for me.
Exactly, I choose the one that’s always there on every machine I access!
Seconded. Having an awesome Fish setup doesn’t help at all when you’re constantly having to shell into other machines unless you somehow keep your dotfiles synced, and that sounds like a total hassle.
I’d rather my muscle memory be optimized for the standard setup.
Definitely fish. It does everything i need out of the box. To achieve the same with zsh, i needed a dozen plugins on top of a plugin manager. Here, in satisfied with just Starship as custom prompt.
That said, i’ve been trying nushell recently. Don’t really think it’s for me, but it is pretty interesting
Zsh + oh-my-zsh
Uh. Whatever my distro comes with per default.
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.
I know I’m a heretic but I’m a huge powershell fan. Once you work with an object-oriented shell you’ll wonder why you’ve dealt with parsing text for so long. Works great on Linux, MacOS and Windows, it’s open source, reads and writes csv, json and xml natively, native web and rest service support, built-in support for remote computing and parallel processing and extensive libraries for just about anything you can think of. It takes a little getting used to but it’s worth it.
TBH, I use Powershell on my Windows install, and they’ve made some good improvements over the years. I forget that it also works on Linux.
Shame v1.0 ships with new installations, and you have to manually go out and install the latest versions to get the benefits. Dunno why MS doesn’t just automatically update it with everything else.
Version 2 came with Windows 7. Version 5 comes with Windows 10 (and I think 11). V7 is the latest but being cross-platform doesn’t come with some of the Windows-specific modules built into v5.
V1 never actually shipped with any version of Windows
Windows 7 shipped with V2, 8 with V3, 8.1 with v4, and 10 with v5 and later 5.1.
5.1 is the latest (and last) version of Windows PowerShell.
All versions after that are just PowerShell (or PowerShell Core for version 6)
Not sure why they don’t bundle it by default, but starting at v7.2 it can be updated by Windows update
I use powershell by default on windows and I prefer it for scripting any day of the week vs. shell scripts. It’s not the fastest but you can always plug in .net to your scripts to dramatically improve performance. Sure, I could write the script in rust or whatever to make it even faster, but that’s way more work than I need for the lifespan of the script.
Even on Windows I try to avoid Powershell. I use bash through GitBash there, too. But, I don’t mind using Powershell for work, because some workflows are already implemented in ps1-scripts.
nushell is excellent for dealing with structured data. it’s also great as a scripting language.
Wait, I’m supposed to choose my favourite of the three shells?
Is that how they work??
Ctrl+F’d for this.
Is this a Demolition Man joke?
Yes.
Bash or ZSH. Whatever is default.
Fish, less config and super easy to set things like path, colors, and the support for dev environments and tooling is better than it was. Used to be a Zsh user, but moved since I distro hop so dang much. Less time to get going.
I’m here for the colors :3 teehee
Former
zsh
user.fish
works for me.
For scripts I usebash
tho.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.
zsh
Fish, without a doubt.
How come?
It’s just so friendly and interactive