Are Fish and Bash the Same Except the GUI Layer?

Della

New Member
Joined
Mar 21, 2021
Messages
20
Reaction score
0
Credits
245
Using Linux Mint Ulyana as my daily driver. But recently I tried Garuda, and above all, I was blown away by its amazing shell that popped up when I pressed Ctrl+Alt+T. I got to know it is called the fish shell.

The thing is, even in mint, I am using a different shell called Tilix from https://gnunn1.github.io/tilix-web/
but neofetch still shows it as bash. Even after I installed fish on my mint, and changed the shell with chsh command, neofetch still showing my shell as bash. So does it mean bash is always the core language, and fish, tilix etc. are just graphical decorations on top of the interpreter? Are the same shell scripts, docker commands etc. going to produce exact same results?

Also, how to make my tlix or bash terminal look like garuda with a lambda prompt when using fish shell?
 


This depends on a lot of different things.

One thing at a time here.
neofetch is a bash script.

If you type file /path/to/neofetch

It will tell you that it is a bourne-again shell (bash)
If you run head /path/to/neofetch it will return something like this.

[root@fedora ~]# head /usr/bin/neofetch
#!/usr/bin/bash

The first line of a line script tells you which shell interpreter it is going to use.
Even if you're in csh, zsh, fish or something else... the script is going to run under bash.
It runs under whatever shell interpreter it was written to, even if you are running it from
a different shell.

The other thing that can happen sometimes, is that when you are logged into a console or terminal,
it uses the shell you've chosen. But when you run it in a gui (i.e double click on it)
It may run in a different shell. Also if run as a different user (i.e. sudo neofetch)
it will run under whatever that users default shell is.

It don't use docker anymore. (I've switched to podman) so I don't know
if it is a bash script or not, I thought it was a binary, but I don't remember.
It's pretty easy to change your default shell prompt.



There are quite a few articles like this out there.
You could add the lamdba prompt if you wanted to.

1634205707137.png
 
Last edited:
If you are asking about using it for an interactive shell it shouldn't matter, if you want to use your shell for scripting you are better off using bash because it's POSIX complaint or zsh.
 
Last edited:

Members online


Top