Hacker News new | ask | show | jobs
by StavrosK 3115 days ago
If you like zsh, you're going to love fish†

† The qualifying clause is probably unnecessary here.

4 comments

I love zsh, but am not a huge fan of fish. Lots of non-standard things that don't play nicely with existing workflows.

I prefer bash/zsh/etc because of the ecosystem around them. If I wanted to throw that away and start from a different base I'd probably use Powershell or something like it to be honest.

I find fish interesting, because I thought it is what I wanted (throwing away the pain of sh syntax), but now I just have to keep switching between sh and fish and I keep forgetting which is which. I have to write too many scripts for other people, and I can at best assume they have bash.

I've gone back to bash, might try out zsh.

Zsh is a bit of a bear to configure -- the documentation is relatively chatty and verbose, and there is an enormous variety of options and configuration points available.

IMO its real benefit is in its scripting language, which is mostly a Bash superset with really nice quality-of-life features, namely a vast set of parameter expansion flags, super-advanced globbing options, native support for numerical-indexed arrays, and... it doesn't split arrays on whitespace unless you explicitly ask it to! You can freely iterate over filenames with whitespace, special characters, etc., and you technically don't need to quote any of it. A good Zsh programmer will be able to almost totally grep, awk, bc, etc., and all the overhead of spawning a subshell.

Why not just write scripts in bash (or, hell, Python?) and use fish as your shell?
Just because now it's two languages for loops to remember, I kept trying to write fish loops in bash scripts, and bash loops in fish shells.

Some people are better at this kind of thing than me, but I find it hard when languages are close in notation (I never confuse C++ and python, but I confuse python/ruby, or bash/fish).

Maybe even if not! I didn't care that much for zsh but I love fish.
I love zsh, but abandoned ship of fish long ago.