Info What is Linux Shell.


What is Linux Shell.


   Basically speaking shell is command interpreter that interpret the Linux command you issue to machine language.  To find more information on  'What is Shell' definition on Linux Fedora Core, type in 'info bash' on the shell prompt and press [Enter] key to execute the command.  Then scroll down to "* Introduction:: An introduction to the shell." and press [Enter] key again.


[root@fedora ~]# info bash

Bash Features



This text is a brief description of the features that are present in the Bash shell (version 3.0, 27 July 2004)..


This is Edition 3.0, last updated 27 July 2004, of `The GNU Bash Reference Manual', for `Bash', Version 3.0.


Bash contains features that appear in other popular shells, and some features that only appear in Bash. Some of the shells that Bash has borrowed concepts from are the Bourne Shell (`sh'), the Korn Shell (`ksh'), and the C-shell (`csh' and its successor, `tcsh'). The following menu breaks the features up into categories based upon which one of these other shells inspired the feature.


This manual is meant as a brief introduction to features found in Bash. The Bash manual page should be used as the definitive reference on shell behavior.


* Menu:


* Introduction:: An introduction to the shell.


Then scroll down to "* What is a shell?:: A brief introduction to shells." an press [Enter] key.

1 Introduction



* Menu:


* What is Bash?:: A short description of Bash.


* What is a shell?:: A brief introduction to shells.


1.2 What is a shell?



   At its base, a shell is simply a macro processor that executes commands. The term macro processor means functionality where text and symbols are expanded to create larger expressions.


   A Unix shell is both a command interpreter and a programming language. As a command interpreter, the shell provides the user interface to the rich set of GNU utilities. The programming language features allow these utilitites to be combined. Files containing commands can be created, and become commands themselves. These new commands have the same status as system commands in directories such as `/bin', allowing users or groups to establish custom environments to automate their common tasks.


   Shells may be used interactively or non-interactively. In interactive mode, they accept input typed from the keyboard. When executing non-interactively, shells execute commands read from a file.


   A shell allows execution of GNU commands, both synchronously and asynchronously. The shell waits for synchronous commands to complete before accepting more input; asynchronous commands continue to execute in parallel with the shell while it reads and executes additional commands. The "redirection" constructs permit fine-grained control of the input and output of those commands. Moreover, the shell allows control over the contents of commands' environments.


   Shells also provide a small set of built-in commands ("builtins") implementing functionality impossible or inconvenient to obtain via separate utilities. For example, `cd', `break', `continue', and `exec') cannot be implemented outside of the shell because they directly manipulate the shell itself. The `history', `getopts', `kill', or `pwd' builtins, among others, could be implemented in separate utilities, but they are more convenient to use as builtin commands. All of the shell builtins are described in subsequent sections.


   While executing commands is essential, most of the power (and complexity) of shells is due to their embedded programming languages. Like any high-level language, the shell provides variables, flowcontrol constructs, quoting, and functions.


   Shells offer features geared specifically for interactive use rather than to augment the programming language. These interactive features include job control, command line editing, command history and aliases. Each of these features is described in this manual.


Keyword: linux shell, what is linux shell, shell, shell command, shell info