Hello Everyone,
about a month ago I decided to try switching from the default bash shell to the fish shell.
I did this because I have heard so much good things about it and the features are appealing.
At first, I was a little worried that the switch would take me a little while, but I did not have to adapt at all. It really is this easy if you are used to bash.
After some time, this made me wonder if we should maybe expose newcomers to an easier and more modern shell. Other projects like Kali Linux have started thinking about similar stuff and I would like to know your thoughts on this.
The arguments that I can think of are:
Pro:
Fish shell is very easy to use and is way easier to write scripts in
It gives you real time feedback on whether the command that you typed is valid which saves a lot of time
the autocompletion has often cut the time that I need to write a command to less than a half
usually same commands, so there is no time needed to adapt
the syntax highlighting is easier to read than bash’s default one
it feels more modern and competitive with stuff like powershell
easier configuration
automatic generation of man pages (the site is way better at explaining it)
all of the old bash scripts will still work as the bash shell will still be around and !/usr/bin/bash is declared in standard bash scripts on the top
still able to run bash commands just by typing bash
you can read more about it here
Contra
some tutorials may not work, although this should really be an edge case
I would love if you can point out things that I missed and what you think about this.
Best Regards, Julius
Personally I switched Openbox to zsh years ago and I thought - but that requires a closer look at the profiles - Manjaro recently changed to zsh as well.
A lot users don’t know the difference anyway - and maybe surprised when they learn and with the zsh config by @Chrysostomus zsh is a great shell.
I prefer fish. I use it everywhere I can. But I would not support making it the default shell of any Linux distribution. There are (ba)sh-isms that fish purposely does not support that I think would be missed. Scripting is also very different in fish. It is very easy for someone to change their shell, so I would argue keep the default safe and sane.
To say it slightly differently, fish is not POSIX-compliant, which may not be that big of a deal to some, but it is huge to others.
out of curiosity does this zsh switch apply only to new installations or to old ones? I think I am still on bash… How would I switch to zsh with the Chrys config? TIA!
Type fish in your terminal and you’ll be using the fish shell, notice it says fish on the top side of your window. If you want to change to tht shell every time you open your terminal use the chsh command.
:~:$ fish
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
~> help
(exo-open:13474): dbind-WARNING **: 20:36:46.238: Couldn’t register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken