Linux newbie. I've noticed their are different terminal shells, which one should I use?

Hi,

I’ve seen different terminal shells like bash, csh, tcsh, sh, and such. Why so many different shells? Which is the most common shell? I’m guessing bash, becuse openSUSE is set using that one. Other distros seem to default to bash as well. Is having different shells geared towards ease of use, or a programming perspective, or something else?

Thanks for any help!

Recommend using whatever you’ll find in your Desktop’s menu.
In KDE, that’ll be Konsole which is KDE’s shell around bash(?).
In LXDE which I also use, it’ll be LXterminal.

I sometimes use other terminals, but not often since I’m comfortable with BASH commands.

It’s not like dealing with Ubuntu’s Unity where I can’t have multiple consoles open simultaneously, so I need to open different console apps.

HTH,
TSU

shells are like editors everyone has a favorite. The commands in the shell differ somewhat so in some cases a script written in one does not work in another. Each has its strength and weaknesses. If you are curious look each up they are all full documented and the doc’s can be found on the web. Most distros may ship with 2 or 3 so you can take your pick. You can see the details also in the man pages so

man bash
man tcsh
man zsh
man ksh

for the ones that default ship in openSUSE

If you don’t quite like it, you write a better shell. And then there’s one more.

Originally, there was the Bourne Shell (“/bin/sh”). Then those crazy Berkeley people gave as csh (the c-shell or seashell – I suspect that they liked that kind of ambiguity). It (csh) had some nice enhancements for use at the terminal, but most people think it was harder to use for scripting. Then we got “tcsh” as an open source enhanced version of “csh”. And then we got “bash” (Bourne Again Shell) as an enhanced version of the Bourne shell. And “bash” implements much of the “csh” enhancements, so there is now less reason to use “csh”. And “ksh” (the Korn Shell) added some enhancements to “sh”, but not as many as “bash” has added.

As for which to choose – mostly, that’s up to you to decide. Personally, I use “csh” for my interactive shell, and I normally use “sh” for shell scripts.

Hi,

Well the shell is just one of many that you will find in *nix world that you can choose from. Any way Bash is the default shell in most distro up to this day because there was no (free alternative) shell available at that time (the time when your grandma and grandpa went to woodstock) and csh and ksh are proprietary (IIRC) and the good ol Bourne shell has some limits (and window for improvements) that others want to improve. Bash is a GNU project and POSIX sh compatible shell with its own added improvement/feature. Which one to use? that is entirely up to you i suggest go with the default shell and start from there. As you go along you will learn the difference, which is better but mind you better is subjective not to mention overrated. :slight_smile:

Thanks for the advise everyone,

I’ve decided to stick with bash for now. It kinda seems universal in a way I guess. I got a Linux ebook explaining the command line. Hopefully it will also explain the *nix directory structure while I learn.

Secret68

Secret68 wrote:

>
> Thanks for the advise everyone,
>
> I’ve decided to stick with bash for now. It kinda seems universal in a
> way I guess. I got a Linux ebook explaining the command line. Hopefully
> it will also explain the *nix directory structure while I learn.
>
>
> Secret68
>
>
Try


man hier

Nice, that works perfectly!

Thanks graham…