Teacher: Now let's talk about the different type
of Linux shells that are available
to us in our Linux environment.
When we have a Linux machine running,
what are the different shells
that we could take advantage of?
The first one is Gnome.
If you don't know, a Gnome is actually,
Gnome is like a graphical environment that is in Linux.
Now you must be thinking,
hmm isn't Linux command line interface?
It is most of the time
but there are people who actually install Linux
with the GUI and the GUI.
While you are installing the GUI
or while you are going through the installation,
you have the option to install GUI as well.
And the two options that you have for GUI is Gnome
and the second one is KDE.
Both of these are the desktop GUI environment
and they are the shells.
So you log into those environment
you are in the shell and then you run command.
How you execute commands?
You execute through your keyboard and through your mouse.
You click, click, click, drag drop here and there.
That's how the interact with the operating system
through that shell.
Now of course, let's go back to our main topic
which is the command line shells.
Now the command line shells,
the main one is Shell
is just sh Shell, of course.
This is, we are now talking about when we do not have a GUI
we are in a command line and now we need to use a shell.
When user logs in,
a user is given a shell a platform to work,
that platform is assigned to that user when,
when the user account is created.
So as I mentioned before if you go to Etsy password,
you will see your shell.
So if you are, let's suppose are given Bash shell
by default and you wanted to switch to sh,
you could do that by going to a different shell.
How do you, how can you do that?
We'll cover that later.
So shell, this just sh is a Bourne shell called sh
or SH is one of the original Linux shells.
It is developed by Unix computers by Stephen Bourne.
His name was actually Bourne,
that's why they picked the name Bourne Shell from,
he worked for AT&T Bell Labs in 1977.
Those are one of the oldest days when actually Linux was
or Linux was being developed.
It's a long history of use of means.
Many software developers are familiar with it.
It offers features such as input and output redirection,
shell scripting with string,
integer variables and condition testing and looping
and so many other things
which of course don't worry about it.
All those,
the heavy words we'll cover them later in the lessons.
Then we have bash bash,
what is it now the popularity of shell
which was the sh was so,
so much that you know,
it made it actually motivated programmers
who actually developed the original shell
that was compatible with it.
But with the several enhancement
they added so many things to it.
Linux systems still offer Shell scripts.
They came up with bash.
So they still have Shell,
but now they came up Bash.
Now what Bash means,
it means Bourne again shell so it,
the shell still exists.
Don't worry, don't think that shell sh is gone.
Now the newer shell is available
which is called Bourne Again shell, and
in our entire course we will be using Bourne Again shell.
Why?
Because it has a lot of enhanced features
and it is very user friendly.
So many features or variables that we could use in
that shell.
Then what are, what are the there other shells?
There is cshell
and tcshell developers have written large part
of Linux operating systems
in C and C++ languages, right?
You know that using C Syntax as a model.
Bill Joy,
who was at Berkeley University developed a cshell
in I believe 1977 or 78.
Then Ken Greer, I think that was his last name,
working at Mellon University,
took cshell concept as a step forward
and when it took a step forward, what did he do?
He came up with a newer shell,
which was tcshell
and based on your system directory structure and files,
tcShell does not run bash scripts.
So if you are in a tcshell
and you wanted to run bash,
it's not gonna run it anyway.
Most of the people don't use cshell
and tcshells unless you really are proficient
in C and C++ programming language.
So my advice to you,
you could stay away from it if you are beginner,
not to worry about these.
Then the last one we have is KornShell
or KShell David Korn.
Okay, see that's the name.
See that's why the people came up with these shells
because they associated their name with it.
So the person who came up with the Korn shell
his name was David Korn,
he developed this KornShell
and it was about the time like tcshell was introduced.
So KornShell is compatible
with shell and bash shell as well.
Now Korn shell improves on Bourne Shell
by adding floating point automatic job control
and so many other things.
I don't wanna confuse you right now,
in Unix environment,
most of the time KornShell is used in Solaris.
Whereas in Linux environment,
most of the time a a bash shell is used as I mentioned.
Again, if you need to know the list
of shells that you have installed in your system,
all you have to do is go into your log
into your Linux machine and type cat etc shells
and you will see all the list of shells.
So this is what I wanted to cover
and I want you to be aware
these are the different type of shells.
If you are creating a shell script
and you need to get help on creating a shell
let's say if you Google it,
maybe you'll find some
of the information or some of the scripting syntax
in bash and some of them in Korn shell.
So you have to be very careful.
They're probably not gonna work on one another.
That's why you need to know the difference
of different shells.