I just found out about fish shell a few moments ago. I switched Konsole on KDE to use it instead of bash and am impressed so far. Might install it on the Pihole eventually. Good stuff, just wanted to share. :)
I just found out about fish shell a few moments ago. I switched Konsole on KDE to use it instead of bash and am impressed so far. Might install it on the Pihole eventually. Good stuff, just wanted to share. :)
So you want the features of fish? Why’d you go back to zsh then?
I use fish on a couple of devices, but damn it’s frustrating when you want to do a fast and simple bash scripting and it doesn’t work. Frankly now I think it would have been better to spend some time to setup zsh.
Of course it’s going to be frustrating to try to write bash scripts and then try to run them as fish scripts.
What you should be doing is writing fish scripts and running them as fish scripts. That is a much more pleasant experience. 🙃
I know. I just don’t want to. There’s no point in learning fish scripting, you won’t use them anywhere unless you want your colleagues to hate you because now they also have to learn it for no reason.
I only use my scripts privately and my scripts are now shorter and easier to read and maintain. Also I use it as my everyday shell, and I couldn’t be happier with a shell right now, that I know of. The documentation is also extremely good. Simple to understand, and a small language.
There’s a big point to learning it if you like its design principles. But if you don’t, then there isn’t. 👍
Enjoy whatever shell you like!
I still write all my scripts for bash (or busybox sh) with a shebang, then call it from fish.
I do too but then you want to just run basic for i;do x;done and you need to translate it to fish syntax.
It wasn’t much of a problem but this thread actually convinced me that there’s less profit from fish than using something like an old oh-my-zsh(probably much easier to setup now).
Is it good if you setup your new pc, don’t have your configs at hand and want a nice terminal with convenient features? Definitely. But I think it’s better to spend 5 minutes afterwards to move away from it.
I considered Fish but decided against it because of POSIX compliance
I’m not trying to change your opinion, just curious: what is the reason for wanting POSIX compliance? You often share scripts? Dotfiles perhaps?
I am shitty at shell scripting, so I often use other people’s scripts from the internet with some minor tweaks. I’ve also put a lot of time into learning the nuances of zsh so there is also a lot of the sunk cost effect going on.
Also, and this is an assumption, I think other shells just have a lot more online resources you know? I have not yet found any problems or ideas I’ve had that someone else haven’t also had and solved.
Cool, thanks, that explained everything for me. 😁
Fish isn’t posix compliant, so some scripts I use had issues. I’ll play devil’s advocate, why do you like fish? :)
I like fish because it requires no setup to be nice to use and the scripting is more intuitive when not doing it constantly.
I just rewrote all of my scripts in idiomatic fish. 😄
It made my scripts 50% shorter on average, and 100% more legible. Short and simple. The code is easier to read and maintain, IMO. Less magic syntax that you need to look up in the bash manual* every dang time. You come back to your scripts after a few years and you just instantly can see what they do, without comments.
(*) Speaking of the manual. The bash manual is quite long. And the zsh manual is a f—ing mess, split up into so many sections, and the thing I want to find is never where I first look, so I just go into the zsh “all” manual, which is humongous and difficult to navigate, basically just a
cat
of all the different zsh manuals.Fish has a short and sweet manual because the language is very small, and every command has its own manual page as well, which just makes sense on some level. Also it’s available as a web page by typing
help
. Very convenient.Very well thought out. 👌