3 ms·
But one of the selling points of fish is (from their website, I am not a user) that it has sane scripting. That point appealed me most. If I continue have to u
by aryamaan 5y ago
But one of the selling points of fish is (from their website, I am not a user) that it has sane scripting.
That point appealed me most. If I continue have to use bash for scripting, I wonder what fish provides over zsh.
- chubot 5y agoI think fish's syntax is cleaner, though as others have pointed out, the incompatibility is often not worth it. Even though it's "sane", I would say it's not "powerful". It's significantly less powerful than bash, e.g. there is a list of missing things here: https://github.com/pirate/fish-utils/blob/master/README.md https://github.com/pirate/fish-utils/blob/master/README.md The first one seems like one of the bigger issues: https://github.com/fish-shell/fish-shell/issues/159 https://github.com/fish-shell/fish-shell/issues/159 I have a particular viewpoint since I'm writing a shell for scripting, and I wrote this FAQ. http://www.oilshell.org/blog/2021/01/why-a-new-shell.html#whats-the-difference-between-oil-and-fish http://www.oilshell.org/blog/2021/01/why-a-new-shell.html#wh... But I didn't come up with that list of issues, and I've only used fish a tiny bit.
- netvl 5y ago#159 kind of works with the `string collect` mechanism, although it is indeed not very obvious, compared to bash: set file_contents (cat filename | string collect -N) I understand that this is purely anecdotal, but I'm using fish for quite a long time, I've written a lot of tooling for myself in fish, and I agree that sometimes there are some things which are annoyingly missing from fish (like this multiline variable thing), but I would not say it makes fish significantly less powerful. And these things are sometimes fixed, too.
- lucideer 5y agoFor me, the main thing fish provides over zsh is nice defaults. oh-my-zsh can be incredibly slow, and without it zsh does take a reasonable amount of scripting & setup to make it as "nice" to use (which is why oh-my-zsh exists). I think their "sane" scripting is more about ux for writing short disposable logic (the type you write in a terminal), rather than more detailed/advanced/structured programming that you might save to a shell script file. Bash/zsh walk the line of being usable enoughh for typing terse quick commands (terminal syntax) while also being complex enough for writing large scripts (programming language). They end up being imperfect at both.