Fish is a great shell, but whenever I SSH into another machine I end up having to do everything in Bash anyway. So the fact that Fish is so different often ends up being a detriment, because it means I have to remember how to do things in two different shells. It was easier to just standardize on Bash.
I might try daily driving it again when this release hits the stable repos, I dunno.
Same. That's why I stick with zsh, even though I know Fish has better features, and I would really like to learn fish. I log into many different VMs every day, they all use Bash, some also have zsh. None of them have Fish.
I only have to "quotes" strings that contains globs. The rest mostly work or use the newer/recommanded way to do things for posix shells.
But I must admit, I only use it interactively. For scripts I #!/bin/{,ba}sh. I will use something else once it won some/most the distro preinstalls (either nu, elvish, fish, but for now it's sadly python).
I would want to continue to write my scripts with sh or bash, but is this something worth adopting for just regular shell navigation?
I've thought about it previously but it not being a default shell makes it reasonably less appealing for me.
As long as you use bash in your shebang you won't know the difference. Fish even has conventions for applying environment variables to be available in both shells. I've used Fish for a couple years and my biggest gripe (which is still minor) is that command snippets off the Internet don't always work. In those cases I either switch to bash temporarily or fix the command to work in Fish.
Most of the time the fix is: put quotes around your strings (especially when they may contains globing patterns). Sometimes its using newer syntax available in bash but not on the snippet.
I'll check it out then. Work involves using bash exclusively because it's embedded systems but I'll see if fish suits me for personal use. Thanks for the suggestions
I felt that way too, but testing it for a few days on one device changed my mind. Their pitch rings true, it has so many basic QoL features that make you wonder why this wasn't added to bash two decades ago.
For me, the only bash->fish gripe I've had was it took me a little while to get used to having to put quotes around URLs with a ? to stop it trying to wildcard, but again, their rationale makes perfect sense and really I admit it was bad for bash to simply accept that string in the first place.
I just set Fish as the shell that my terminal emulator should launch. The actual default/system shell can stay Bash. And then, yeah, if you put Bash into the shebang, all the scripts will run with it, and you can just execute bash in your Fish shell at any point to drop into a Bash shell.
Occasionally, I'll realize some syntax discrepancy where I've kind of learned it the Fish way, but because I'm only using Fish interactively, there's really not a ton of syntax that I'm interacting with.
And yeah, ultimately I find it well worth it. In particular the history-based auto-suggestions are really useful. People will ask me what that command was again and I'll start typing into my shell and it just pulls out exactly what I wanted in quite a lot of cases.
I don't want to start a holy war. but they say it should bring more contributors and a more fun programming language should mean more contributions but contribution metrics on openhub show no meaningful improvement IMO.