3 ms·
Happy user here. If you spend a lot of time in the shell fish is totally worth checking out. Good points: * Fish's completion sure saves a lot of typing * `
by mocko 9y ago
Happy user here. If you spend a lot of time in the shell fish is totally worth checking out.
Good points:
* Fish's completion sure saves a lot of typing
* `brew install fish` on osx
* Config in ~/.config/ rather than cluttering up the root of your homedir
* Can change many settings without needing to edit config directly - eg. `set -U fish_user_paths $fish_user_paths ~/path/name`
Bad / not intended for:
* It's not for scripting. Just use bash for that.
* I've found appending to env vars to be fiddly. Maybe I'm doing it wrong
* pyvenv's bin/activate.fish was broken for a long time (not fish's fault!)
- mistersys 9y agoJust curious, since their website pretty clearly points out "sane scripting" as a high point, what makes it bad for scripting from your perspective?
- oscilloscope 9y agoBash scripts are way more portable. But for little scripts that only I will run on my computer, Fish is great.
- dgsb 9y agoBash scripts are also much more brittle. I don't do bash scripting at all anymore. I fish for personal/usage or perl/python for shared scripts.
- majewsky 9y agoCorrection: Most bash scripts are brittle. You can write rock-solid bash scripts if you know what you're doing. For example, Arch Linux is an entire distribution built mostly on bash scripts. Of course, if your scripts only run on your own machine (which is a huge if), then fish is probably better.
- dgsb 9y agoSure you probably can write non-brittle bash script, but it has always seemed above my own ability. Beyond bash ubiquity, I've never found to have any other value against other slightly higher language whether it is perl, tcl, python, etc ...
- ptman 9y agoshellcheck helps a bit
- vanderZwan 9y agoNot GP, but since 90% of of my sporadic scripting is "searching on SO how to do something somewhat complicated that I'll never do again so it's not worth the time to learn how to master it", bash is (oddly enough) a lot easier to use here since looking up how to do it in Fish is a lot more hassle. Similarly, if you want your code to be portable, bash is a safer bet.
- mocko 9y agoI put that badly. Fish certainly does support scripting, but as a relatively niche piece of software you get bad portability (everything has bash) and poor maintainability (because everyone else scripts in bash). Fish is a great shell and maybe this will change, but at the present time I'd be doing my clients a disservice if I wrote them tools in a language few others could work with.
- phillco 9y agoI find fish to be a more pleasant scripting languge personally, but bash scripts are the lingua franca everywhere I've worked. It's easier just to learn bash.
- cup-of-tea 9y agoI wouldn't use it because I wouldn't want to add a somewhat strange and unnecessary dependency to my projects. It's also why I resist switching from bash even though I've used other shells and enjoyed them. There are only so many skills I can keep in good practice. If I use bash then it will be one of them.