That point appealed me most. If I continue have to use bash for scripting, I wonder what fish provides over zsh.
That point appealed me most. If I continue have to use bash for scripting, I wonder what fish provides over zsh.
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
The first one seems like one of the bigger issues: 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#wh...
But I didn't come up with that list of issues, and I've only used fish a tiny bit.
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.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.