• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

What is a Shell

 
Joe Harry
Ranch Hand
Posts: 10124
3
Eclipse IDE Mac PPC Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Guys,

What do we mean by a Linux Shell and what does shell scripting mean to Linux OS?
 
Joe Harry
Ranch Hand
Posts: 10124
3
Eclipse IDE Mac PPC Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Could it be something like a batch file that we write in Windows?
 
Tim Holloway
Saloon Keeper
Pie
Posts: 18226
53
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A Shell is simply a program that allows the user to interact with the system. The more formal name is "command shell", and it's not unique to Linux. The DOS COMMAND.COM program, for example, is a shell.

It's called a "shell" because it forms a sort of container for doing work, like a seashell does for what lives in it. The shell program typically is just a loop that reads a command line from a terminal or other input source, parses it, builds up the environment that will be passed to an application, loads the application and runs it, then repeats.

In ancient times, the shell was an integral part of the OS, but Unix popularized the idea of alternative shells such as ash, bash, csh, ksh, zsh and so forth. All have the same basic function, which is to do what I outlined above. These days Windows also has multiple shells - the COMMAND program is the old dumb DOS shell and the CMD program is similar, but smarter - it has some extra functions that make it easier to write intelligent scripts.

There are other types of shells as well. Shells have been written based on LISP, for example. And windowing systems provide what's known as a "gui shell".
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic