DEV Community

Fulton Browne
Fulton Browne

Posted on

Whats your favorite shell

Is it BASH, ZSH, or something else?

Top comments (38)

Collapse
 
deciduously profile image
Ben Lovy

Bash, for no other reason than it's ubiquitous.

Collapse
 
ben profile image
Ben Halpern

Same, but I understand why people care a lot about this.

Collapse
 
deciduously profile image
Ben Lovy

Totally, but for me it's a secondary tool. If you choose zsh (or whatever), you're really choosing to learn that AND bash, because inevitably you'll run into it or at least need to know how it works as you interact with software on the internet.

Maybe someday...

Collapse
 
fultonbrowne profile image
Fulton Browne

have you seen FISH fishshell.com/

Collapse
 
ferricoxide profile image
Thomas H Jones II

Until the other shells reach the point of being part of the "core" software-bundles in the distributions I use, I don't see making a change to other shells (sorta like POSIX-shell when I was still working with commercial UNIX systems).

Collapse
 
ghost profile image
Ghost

After tried zsh, ksh, fish and ash. I prefer bash. I don't like fuzzy completions nor a list potential options on my first tab, I'm used to check man if I forgot some argument and I don't care about all the extra features, all I care is speed and the basics. And in bash I have a fancy prompt, is a lot faster than fish and a bit faster than zsh, I also like ash but it lacks a few things I use.

I see the appealing of other shells (I used them for a while) but I never used the extra features.

Collapse
 
kogans profile image
Stanislav Kogan

I'm afraid you missed the point of this question. It's not about the CLI - it's about the scripting language :)

Collapse
 
ghost profile image
Ghost

is it? oh, in that case bash, unless you write just for you and just for your system anything alse make son sense to me, I'm not gonna add another shell to a remote machine just to run my scripts. And to get used to 2 different, yet similar PL is annoying, after months with fish I always had to rewrite because I was writting bash instead of fish, and I just did little scripts for myself, I guess for anything more important would be even worst.

But how can you tell if the question is about the CLI or the scripting language?

Thread Thread
 
kogans profile image
Stanislav Kogan

Let's just call it a hunch :)

Collapse
 
not_jffrydsr profile image
@nobody • Edited

I used Powershell for dist. systems config when I worked for DellEMC. . .
then installed BASH after I was sure they wouldn't fire me. 😌

but little topped writing Batch.cmd scripts in middle school to prank friends naively opened laptops with infinite dirs of death
i know i'm not alone

Collapse
 
kogans profile image
Stanislav Kogan

Powershell is a horror show. I try to avoid it as much as possible and use CMD instead under Windows. Yes, PS is THAT bad.

Collapse
 
mjgs profile image
Mark Smith • Edited

In the early days of my career I used csh, but back then I hardly even knew what a shell was, then I started using bash, and at some point I went down the oh-my-zsh rabbit whole because it was trendy, but apart from a few interesting aliases, and maybe the prompt with a few nice bits of info, I hated it. I found everything counter intuitive and unobvious. So I got rid of that and installed fresh bash totally stock, and setup some dot files with my own aliases, it’s simple, minimalist, works everywhere, I find all the commands much more obvious to me.

Collapse
 
mjgs profile image
Mark Smith • Edited

Sorry for the typos, my iOS device is constantly β€œcorrecting” words when I’m not looking.

Promo should be prompt

Update: I found the edit button, few.

As for scripting ... bash all the way! It feels very antiquated (if you are used to Nodejs/python/PHP etc) at first but the manual is very short, and once you know a few key concepts it’s rather straight forward

Collapse
 
moopet profile image
Ben Sinclair

Bash.

Partly for the same reason as the other Bens here, because it's ubiquitous.

But I dislike when people evangelise other shells for spurious reasons. Things like oh-my-zsh are 99% bloat, and people go on about how great they are, when you can do everything they do with bash anyway. Zsh has some really annoying history and completion as far as I'm concerned, like if you hit up-arrow too soon before returning to the prompt it thinks you're trying to history-complete whatever was your last command.

I also resent that since the move to Zsh by MacOS, users are saying how great it is - well it's great because you've been stuck on a really old version of bash on your computer because your provider, Apple, doesn't like free software. This isn't a reason to use Zsh, it's a reason to not use MacOS. I think most of the arguments in favour of Zsh get this the wrong way around.

Then there're ash and dash. I have no particular opinion of them but think they're OK.

I've tried fish. I don't particularly like it. Nothing I can put my finger on, just feels like a whole lot of pointless features and colours that don't really help me, and a slew of things that aren't quite compatible enough.

I think MUDsh is hilarious but also hilariously unusable. I totally recommend giving it a go.

Everything else, your Cees and Kays and TeeCees and their kin, are older than power suits and shoulder pads and they feel like it.

I'm quite a heavy scripter, even though - like most users I suspect - I don't use at least 50% of the features of the shell anyway. Bash is enough, and it's reliably enough.

Collapse
 
hwolfe71 profile image
Herb Wolfe

I've been using tcsh for over 20 years on my Linux/Unix systems. It was the default shell when I first got a Unix account in college.

On Windows, I've been using NYAOS for it's similarity to tcsh.

Collapse
 
wrldwzrd89 profile image
Eric Ahnell

I use BASH, ZSH, PowerShell and good old CMD for various purposes. CMD is easily the least liked of the bunch, but there's no clear winner among the remaining 3.

Collapse
 
kogans profile image
Stanislav Kogan • Edited

CMD is better than PS most of the time :)

bash is the winner, though, hands down.

Collapse
 
gmartigny profile image
Guillaume Martigny

Best shell is no shell. πŸ˜„

Collapse
 
kogans profile image
Stanislav Kogan

Are you a Windows sysadmin? :D

Collapse
 
gmartigny profile image
Guillaume Martigny

I work on windows but the console is crap. However, I'm a firm believer that shells are a thing of the past.

Thread Thread
 
moopet profile image
Ben Sinclair

Reminder: Show Guillaume this comment in five years.

Thread Thread
 
gmartigny profile image
Guillaume Martigny

🀞

Collapse
 
gypsydave5 profile image
David Wickes

I use Bash - obviously, I'm not insane.

But my favourite is rc, the Plan 9 shell.

Collapse
 
prateek_thedev profile image
Prateek Gurnani

Its always BASH for me.

Collapse
 
timjkstrickland profile image
Tim JK Strickland

I use bash, but had an OS update from Apple when they swapped all my defaults in iTerm2 and VS Code to zsh. It was a very weird 20 minutes.

Collapse
 
ferricoxide profile image
Thomas H Jones II

I used to be a real KSH fan.

Nowadays, it's BASH ...mostly because I'm no longer using commercial UNIX offerings and it's the "reliably available" shell.

Collapse
 
adam_cyclones profile image
Adam Crockett πŸŒ€

Bash because it's there by default and don't think it's important.

Collapse
 
madza profile image
Madza

Bash, by a mile

Collapse
 
pavanmehta profile image
Pavan Maheshwari

zsh with oh my zsh. ZSH autocomplete and other such plugins are a bliss.