Linux: Shells
-
@Dashrender said in Linux: Shells:
I see this shell more for you to make connections to Linux boxes to control them..
Not sure what you mean, how would BASH do that and why? You'd want "whatever shell you are using on Windows" for that, ideally.
-
And this is the failing to the uninitiated. I don't really understand what the shell does. I don't understand what makes it work differently than another one.
Just telling me that it's like two different programming languages doesn't help when I'm not a programmers. I've done a tiny, and I mean microscopic amount of programming, so I know that there are key word differences, grammar differences, etc - but I still don't understand what makes one language better than another for a specific task, and the same applies here for shells.
You even say in your explanation that one shell to another (on LInux) the normal user won't be able to tell the difference - it's not until you dig deep with programming, but I don't understand why that is?
-
@Dashrender said in Linux: Shells:
And this is the failing to the uninitiated. I don't really understand what the shell does. I don't understand what makes it work differently than another one.
Think: "Programming language with handy access to system calls."
The common shell that you know is the Windows graphical shell. You just call it the Windows desktop. That's a shell. Shells are the things that provide the user interface to the operating system.
-
@Dashrender said in Linux: Shells:
You even say in your explanation that one shell to another (on LInux) the normal user won't be able to tell the difference - it's not until you dig deep with programming, but I don't understand why that is?
For example, BASH lacks complex data types that some other shells have. But if you are not doing programming that would use them, you'd never notice. But BASH and ZSH share a syntax (they both use BASH syntax.) So anything you do in BASH works on ZSH, but somethings that you do on ZSH won't work on BASH.
ZSH also has more advanced completion. Like you can tab complete host names, for example, which BASH can't do.
-
@Dashrender said in Linux: Shells:
Just telling me that it's like two different programming languages doesn't help when I'm not a programmers. I've done a tiny, and I mean microscopic amount of programming, so I know that there are key word differences, grammar differences, etc - but I still don't understand what makes one language better than another for a specific task, and the same applies here for shells.
For example, let's think about graphical shells. Let's say that you want to work with both Windows and CentOS and you want to do so graphically... would you want each to have a unique graphical environment with a different look, feel, different mouse actions and gestures, menus in different places, etc? Or would you want to choose the best of the two and have both do the same thing so that you can move back and forth without having to change anything that you do?
-
the programming part is where I'm completely lost.
-
@Dashrender said in Linux: Shells:
the programming part is where I'm completely lost.
Then ignore that part. Think of it as "interface."
-
@Dashrender said in Linux: Shells:
And this is the failing to the uninitiated. I don't really understand what the shell does. I don't understand what makes it work differently than another one.
English and French are different. They can accomplish the same things, but they get there in different ways. Programming languages are a lot like that. Some things are easier to do in English, some things are easier to do in French. But nothing is easier than getting to speak in your own language all of the time.
-
@StrongBad Good analogy.
@Dashrender: Different shells provide you with different programming (or scripting) capabilities. For example, zsh and (k)sh differ in word splitting. Here's a good read about that: http://zsh.sourceforge.net/FAQ/zshfaq03.html#31. And here's how zsh differs from other shells at a more global scope: http://zsh.sourceforge.net/FAQ/zshfaq02.html
-
@thwr Thanks