So I’ve been using Linux now for a while, and am looking to migrate my dev environment to vim and spend more time in the command line. I’m fairly comfortable with bash but by no means an expert. I’ve used zsh with some minor customization but just recently learned about fish. I’d love to hear people’s opinions.
I use Linux for work and I’m pretty much fully in bash. What’s the benefit of changing to a different shell? Will all my scripts still work?
Power, convenience, customizability
Pretty much the same reasons you use Linux at all
I made myself this question and jumped to fish and never came back to bash. I now use mostly the terminal for most things together with ranger.
If you decide to jump to fish install fish + fisherman + fzf
Fisherman for installing themes and plugins and with it you install the fzf plugin. I also have the tide theme which is pretty nice.
PS. Bash scripts still run as bash so there is no conflict.
Zsh is just bash with plugins and stuff, so regular bash scripts work. fish, as I understand, uses its own language.
If you have
#!/bin/bash
on top of your scripts, they will use bash.Bash code is not safe to run as if it were Zsh, and Zsh has language features Bash doesn’t. They are different languages.
That’s right. zsh is POSIX compliant while fish is not. That’s the reason I switched to zsh from fish.
On Mac, zsh is default.
I use zsh with zinit (with turbo mode) or zgenom.
Zsh quick start kit and z4human (created by powerlevel10k author) are great starts if you do not want to invest on configuring zsh.