Shells (not the food) for Linux

Chat about Linux in general
Forum rules
Do not post support questions here. Before you post read the forum rules. Topics in this forum are automatically closed 6 months after creation.
Post Reply
User avatar
MurphCID
Level 15
Level 15
Posts: 5910
Joined: Fri Sep 25, 2015 10:29 pm
Location: Near San Antonio, Texas

Shells (not the food) for Linux

Post by MurphCID »

I watched a video this morning while waiting for my morning wake up juice to finish brewing, and the youtuber was discussing Shells. Now I only am familiar with BASH, but what are the advantages of leaving BASH and going to say Fish, or zsh, or tcsh, etc? I have seen several videos lately while I am watching YouTube on the TV where different youtubers are using the zsh, fish or some other shell.

What shell do you use, and why? For me and my very limited Linux knowledge so far bash has been more than adequate for my purposes.
User avatar
spamegg
Level 14
Level 14
Posts: 5118
Joined: Mon Oct 28, 2019 2:34 am
Contact:

Re: Shells (not the food) for Linux

Post by spamegg »

Is it this video? https://www.youtube.com/watch?v=6FHd-rBM2Mc

The scripting languages associated with each shell are all slightly different in syntax. I believe Bash and Zsh are extremely similar and compatible with each other.

I use all three (bash, zsh, fish) on-and-off. Mostly zsh. I also have pwsh installed (Microsoft Windows PowerShell) :lol:
I also use different terminal emulators.
I use Bash in Gnome Terminal, Zsh in Kitty and Fish in Alacritty, for maximum variety :D

It's mostly about their fancy features and their "customization ecosystem" if that makes sense.
There are lots of fancy third-party plugins that add many powerful features.

For example I am using Oh-my-zsh and many plugins, with Powerlevel10K theme.
https://github.com/ohmyzsh/ohmyzsh
https://github.com/romkatv/powerlevel10k

Some of these plugins are amazing.
Colorized output, syntax highlighting for the bash language and available commands, with beautiful icons, and status display.
Extremely powerful autocomplete, and browsing directories on the Terminal becomes almost like using a GUI, where I can choose folders / files with arrow keys from a list that's dynamically displayed to me, and automatically does ls when I change into a directory.
Here is a video: https://imgur.com/a/jvp0A7Q

Another excellent feature is auto-completion of the command line parameters of commands:
Here is a video: https://imgur.com/a/aeJbUfP

With bash I'm using Ble.sh and a customized SBP theme, plus "modernized" versions of certain basic utilities like bat instead of cat, colorls instead of ls, ripgrep instead of grep, and so on:
https://github.com/akinomyoga/ble.sh
https://github.com/brujoand/sbp/
Screenshot from 2024-02-14 22-09-27.jpeg

Some of the shells have a few of these features "built-in" that's why people prefer them, even if they want to use them "vanilla" without the third-party tools.
For example fish is known for its "friendliness". Helpful suggestions and error messages.
It also has some of the plugin features of the other shells by default (syntax highlighting, auto-suggestions, navigating extendable lists like in the video, etc.) with little to no configuration.
But I believe that its scripting language is significantly different than bash / zsh (which are mostly compatible with each other). It's supposed to be simpler / better.
I haven't dived too far into fish yet!

There are many other reasons and I'm only scratching the surface so far.
User avatar
MurphCID
Level 15
Level 15
Posts: 5910
Joined: Fri Sep 25, 2015 10:29 pm
Location: Near San Antonio, Texas

Re: Shells (not the food) for Linux

Post by MurphCID »

Thanks for the reply, that was very interesting. For my admittedly modest needs and capabilities, I will stick with bash since I sort of understand it. :D :D
User avatar
spamegg
Level 14
Level 14
Posts: 5118
Joined: Mon Oct 28, 2019 2:34 am
Contact:

Re: Shells (not the food) for Linux

Post by spamegg »

MurphCID wrote: Fri Feb 16, 2024 11:39 am Thanks for the reply, that was very interesting. For my admittedly modest needs and capabilities, I will stick with bash since I sort of understand it. :D :D
Cool.
You can see shells on your system with

Code: Select all

╰─ cat /etc/shells                                                                                                  ─╯
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
/bin/csh
/usr/bin/csh
/usr/bin/pwsh
/opt/microsoft/powershell/7-lts/pwsh
/bin/zsh
/usr/bin/zsh
/usr/bin/tmux
/usr/bin/fish
User avatar
MurphCID
Level 15
Level 15
Posts: 5910
Joined: Fri Sep 25, 2015 10:29 pm
Location: Near San Antonio, Texas

Re: Shells (not the food) for Linux

Post by MurphCID »

Thank you for that information.
Post Reply

Return to “Chat about Linux”