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?
Bash
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.
Microsoft copilot
ZSH through the excellent ZSH Quickstart Kit.
How have I been using zsh for this long yet never heard of that? I gotta give it a go, thanks!
It’s definitely a hidden gem. Enjoy!
I’ve recently migrated to nushell, I don’t straight up recommend it because it’s not POSIX compliant, so unless you’re already familiar with some other she’ll I would not use it.
That being said, it’s an awesome shell if you deal with structured data constantly, and that’s something I do quite often so for me it’s a great tool.
Just looking at it briefly it looks a lot like PowerShell, any reason to use it over PowerShell?
It’s indeed a lot like powershell, but I found it to be much less painful to use for everyday tasks. I can’t really put my finger on it, but powershell always felt very clunky and unpredictable to use. With Nushell, I can write pipelines that usually have the desired behavior on the first try. Also, its more convenient in so many different aspects that I can’t go back anymore.
The biggest downside is, that it hasn’t had a stable release yet. While I haven’t encountered any bugs yet, there are often breaking changes with new releases that may break your scripts.
Yeah, PowerShell does do things that don’t exactly make sense without having some understanding of the underlying dotnet and what the components actually do
Like I said, never used PowerShell, but yeah, nushell pipes are very intuitive, I’ve been only using it for a short time but was already able to do very interesting pipes with minor effort
Never used PowerShell, so I didn’t know that it was available for Linux nor open source, since from a quick search both of them seem to be true I guess there’s no real reason since both are described very similarly.
Soft shell tacos are my favorite. Hard shell is ok but there’s nothing like a double wrapped soft taco.
Oh and I just use bash.
Pff, newbie. I bash my tacos!
/s
zsh, because of highly customizable.
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
Former
zsh
user.fish
works for me.
For scripts I usebash
tho.xterm, because shortcut keys do what they are supposed to.
Edit:
Bash because it’s default.
xterm is not a shell
xterm+zsh
Bash or ZSH. Whatever is default.
PowerShell, with zsh being a close second
Feeling risky today, eh? Mind sharing the reasoning behind your extravagant choice?
Not sure what’s extravagant about it… Fully object oriented pipeline in a scripting language built on and with access to the .NET type class system is insanely powerful. Having to manipulate and parse string output to extract data from command results in other shells just feels very cumbersome and antiquated, and relies on the text output to remain consistent to not break
PowerShell, it doesn’t matter if more or less data is returned, as long as the properties you’re using stay the same your script will not break
Filtering is super easy
The Verb-Noun cmdlet naming convention gets a lot of (undeserved) hate, but it makes command discovery way easier. Especially when you learn that there’s a list of approved verbs with defined meanings, and cmdlets with matching nouns tend to work together.
It actually follows the Unix philosophy of each cmdlet doing one thing (though sometimes a cmdlet winds up getting overloaded, but more often than not that’s a community or privately written cmdlet)
It’s easily powerful enough to write programs with (and I have)
And it works well with C#, and if you know some C#, PowerShell’s eccentricities start to make way more sense
Also, I mainly manage Windows servers for work running in an AD domain, so it’s absolutely the language of choice for that, but I’ve been using it for probably close to 14 years now and I can basically write it as easily as English at this point
Xonsh. For basic use (running CLI programs with arguments) it works like any other shell, and for other uses it has nice Python syntax (and libraries!). For example, I like not needing a separate calculator program, as I can do maths directly in the shell with an intuitive syntax.
Bash as it is what I’m most familiar with. Having an eye out on the https://amber-lang.com/ that compiles to bash for future scripting purposes.