Consider using Fish Shell
osulli opened this issue · 2 comments
what
- Use FISH instead of BASH
why
Risk Assessment
- None completed, though from experience using FISH most BASH scripts should still work. It's not like you're removing bash from your environment and as long as you invoke scripts with
bash ...
or have a shebang then those scripts will still run in a bash subshell.
I've been really torn on this. On the one hand, we're all about adopting the latest-and-greatest, of which fish
totally plays into (and our dozens and dozens of other tools). On the other, it's accessibility and familiarity which bash
plays into. I like that you brought this up. If we get a following around it, could be a nice addition.
@osulli fish
is different enough than bash
that I do not think Geodesic should support it. One of the key features of Geodesic is that it provides a consistent user experience in every environment. Benefits include:
- All tools and customizations do not have to be "portable", they can depend on the exact version of
bash
installed and the existence of other tools. - All documentation about how to use Geodesic and how to accomplish tasks in Geodesic can be written only once. There is no need for "if you are using
fish
, do this instead. - All support issues are greatly simplified by there being only a single known version of everything. For example, today in the SweetOps Slack Channel someone complained that
assume-role
wasn't working for them. It would have been brutal to debug if it hadn't been for the case that Geodesic is such a controlled environment that there were few variables to consider. (As it turns out, it was due to a bug in the Ubuntu kernel. How likely is that? Imagine if this were happening underfish
how much longer it would have taken to get to considering a kernel bug.)
Although I am strongly in favor of some level of customization I also want to limit the divergence of experience, which is why I included an "off switch" along with the customization features.
Of course you are free to use fish
from inside Geodesic. All you need to do is apk add fish
and start using it. My experience was that it is a cool shell, but it broke too many features of Geodesic to want to use it.