5 ms·
Needs a (1990) tag. It always amuses me when people, to this day, say "eh, not going to use that newfangled zsh, bash was good enough for my forefathers and is
by dmd 3y ago
Needs a (1990) tag. It always amuses me when people, to this day, say "eh, not going to use that newfangled zsh, bash was good enough for my forefathers and is good enough for me" - not realizing zsh was released less than a year after bash.
- alyandon 3y agoI tried to give zsh a shot as a bash replacement but ultimately returned to bash. My main pain point was that zsh was really difficult to configure out of the box and a lot of the completions were much slower (cpu/wall time) than the equivalent completion in bash. I'm sure some of that was simply ignorance on my part.
- erhaetherth 3y agoIt still boggles my mind how CLIs are slow as molasses even on high end PCs. I will never understand.
- GuB-42 3y agoBash improved a lot since the early 2000s, when I first assessed my options for shells and settled on zsh. As an interactive shell, zsh did more, and better, than any other shell I tried. Maybe it was slow, but not enough to matter at the time I used it. I guess that bash being the default practically everywhere nowadays made it so that it got a lot of love. For example, it is common to see command line tool come with bash completion files, less so with zsh. Also, while bash got better support where it matters, zsh mostly got bloat in the form of oh-my-zsh and the likes. You don't have to use it, but if you do, you tend to have all kinds of fancy stuff that affects performance. Also, if you want something fancy, you have fish now. I still use zsh (without oh-my-zsh) out of habit, but if I had to start over now, I would probably stay with bash, or maybe use fish, but not zsh.
- soraminazuki 3y agozsh has better completion, command line editing capabilities, and language features. It's not even close. I can port my bash configuration to zsh in mere minutes, but it's impossible to port my zsh configuration to bash. The reason is simple. Bash just lacks so many features. > For example, it is common to see command line tool come with bash completion files, less so with zsh. It's rare for bash to complete anything but filenames. zsh gives me subcommands and flags with descriptions. > Also, while bash got better support where it matters, zsh mostly got bloat in the form of oh-my-zsh and the likes. zsh is a well-maintained project. It makes no sense to ignore that and instead fault them for oh-my-zsh's shortcomings, as if it has anything to do with upstream zsh. zsh doesn't rely on oh-my-zsh for any of its features.
- unaindz 3y agoThis. Plus it's not even slow. My zsh config does x5 as much as bash while being faster. If you want it fast keep away from plugin managers like oh-my-zsh and async load as much as you can.
- stevekemp 3y ago> It's rare for bash to complete anything but filenames. zsh gives me subcommands and flags with descriptions. I think that hasn't been true for a very long time, although it might be that I'm biased because I've been installing the "bash completion" package alongside bash on all my systems. (In my case "apt-get install bash-completion".) bash typically completes commands, sub-commands, flags, and file/directory names for me. It is also common for new tools to ship with bash-completion support, often missing support for other shells.
- soraminazuki 3y agoI have tried bash-completion and it doesn't make much of a difference. It's already underwhelming that bash requires third party completion frameworks to get completion working beyond command names, variable names, and filenames. But even with bash-completion, completion for the most common commands are either missing or incomplete. Take grep, for example. I only get --binary-files, --context, and --null. That's only three out of a few dozen options. Or tar, which only shows c, t, and x. For ls, probably the most frequently used command, only --color and --help. Git requires another third party completion framework. Unfortunately, those are the best case examples. For other commands like vim or emacs, option completion is missing. The same even goes for bash builtins. And don't get me started on completion behavior. Though I will say the lack of descriptions for each option takes away half the usefulness of shell completion. zsh can actually use completion functions written for bash. But I never felt the need.
- ahartmetz 3y agoI have had someone sing the praises of zsh, tried it, was like "that isn't so much better than bash" and went back. Then I heard about oh-my-zsh, tried zsh with oh-my-zsh, and stayed. I still think it's not a big deal, but it is an improvement.
- rnd0 3y agoI'm pretty much in the same boat. Heck, once I learned that BSD's /bin/sh gives you history (and I think filename completion?) I switched to that when I'm on BSD (I don't feel strongly enough about it on Lnux, which often uses dash and is more of a headache). Then again, I don't do much with the shell per se (not writing scripts or any thing like that).
- para_parolu 3y agoPersonally, I don’t have a reason to move from bash. Bash, zsh, fish looks very similar to me. But they do have subtle differences that require learning. And I don’t see a point.
- jijijijij 3y agoI don't think zsh requires any learning as it's mostly adding to bash and is compatible, no?! In any case, fish offers all the conveniences out-of-the-box, which makes it superior to zsh, to me. It's just a nice and ready drop-in, no configuration required. Like, I can't live without alt-H to pop open the man page for command at cursor, and alt-S to toggle sudo, anymore. Otherwise, for 95% of my use, the differences are unnoticeable, and if I need the arcane bash hacks, well, I drop into a bash shell. Tho, I do miss the <<< and still use bash for scripts. Also, I don't have fish set as default shell outside of the GUI terminal.
- bombcar 3y agoThe only reason I moved to zsh is because I'm lazy, and macOS ships with it by default. Easier to change my other systems to zsh than fight it, but I've not really done anything different except some minor notices that it seems to autocomplete a tiny bit better (but that may be due to oh my zsh).
- para_parolu 3y agoYeah. That move was annoying. I wanted to start using zsh as well but then found I need to port by bashrc and switched to bash back