5 ms·
I've been using fish at home and bash at work for almost a decade now, and it's been fine — and because I'm at a fish shell on my own computer far more often th
by cytzol 6y ago
I've been using fish at home and bash at work for almost a decade now, and it's been fine — and because I'm at a fish shell on my own computer far more often than I'm at a bash shell on a work server, I'm willing to take the slight productivity hit there, because I gain overall.
The thing is, when I picked up fish, I couldn't forget my existing bash knowledge. I still have to write normal bash-dialect shell scripts, and with the fish syntax being so much nicer and simpler, the two can happily co-exist in my head. Occasionally I'll hit Up to search through history instead of Control-R, but I quickly realise what I've done and use the bash keybinding instead. And the only fish aliases I missed were 'l', 'll', and 'la', which I just manually copied over without bothering with the rest.
If I had to use bash more often at work... I'd still use fish at home after all the time I've sunk into it, but YMMV.
- kbd 6y ago“I have to use the lowest-common-denominator thing everywhere because I have to use it somewhere“ is an argument that never made sense to me.
- ducktective 6y agoThat's pretty much my argument for choosing Bash over Python for my everyday scripts. It's sensible.
- marmaduke 6y agoSwitching between tools has a cost, so the tool needs to be not just better than another, but better after accounting for switch cost.
- zests 6y agoAnd the cost has to fit in to your budget. I'd rather spend my budget on learning emacs, for example, instead of spending it switching to a new shell.
- isignal 6y agoIt depends on your role. Many people regularly maintain or interact with prod deployments which cannot be customized to your liking. So it may be "somewhere" or occasional in your case but not in all cases. Switching back and forth between shell syntax every few hours is very disorienting and worse, can cause serious errors (for ex: if I have a local alias with rm="rm -i" but a prod server doesn't have it)