# UNIX / Linux What is Shells? - Unix/Linux

## What are UNIX / Linux what is Shells?

A Shell provides you with an interface to the UNIX system. It gathers input from you and executes programs based on that input. When a program finish execute, it present that program's output.

Shell is a location in which we can run our instructions, programs, and shell scripts. There are different flavours of a shell, just as there are different flavours of operating systems. Each flavour of shell has its own set of documented commands and functions.

The prompt, $, which is called the command prompt, is issue by the shell. While the prompt is display, you can type a order. Shell reads your input following you presses Enter. It determines the command you want execute by looking at the first word of your input. A word is an unbroken set of font. Spaces and tabs divide words. Following is an easy instance of the date command, which display the present date and time – You can customize your command without delay using the environment inconsistent PS1 explain in the Environment tutorial. ### Shell Types In UNIX, there are two main types of shells − • Bourne shell − If you are using a Bourne-type shell, the$ character is the default prompt.
• C shell − If you are using a C-type shell, the % character is the default prompt.

The Bourne Shell has the following subcategories −

• Bourne shell (she)
• Koran shell (kasha)
• Bourne Again shell (bash)
• POSIX shell (she)

The changed C-type shells follow −

• C shell (cash)
• TENEX/TOPS C shell (tosh)

The unique UNIX shell was written in the mid-1970s by Stephen R. Bourne while he was at the AT&T Bell Labs in New Jersey.

Bourne shell was the first shell to appear on UNIX system, thus it is referred to as "the shell".

Bourne shell is usually installing as /bin/her on most version of UNIX. For this reason, it is the shell of option for characters scripts that can be used on different versions of UNIX.

In this section, we are going to cover most of the Shell concepts that are base on the Borne Shell.

### Shell Scripts

The essential perception of a shell script is a list of commands, which are listed in the order of implementation. A good shell script will have explanation, preceded by #sign, telling the steps.

There are conditional tests, such as value A is greater than value B, loops allowing us to go through considerable amounts of data, files to read and store data, and variables to read and store data, and the script may contain functions.

We are going to write several scripts in the next sections. It would be a difficult text file in which we would put all our instructions and some other essential construct that tell the shell location what to do and when to do it.

Shell scripts and functions are both interpret. This means they are not compiling.

### Example Script

Suppose we generate a test.sh script. Note all the scripts would have the .she tension. Before you add anything else to your characters, you need to observant the system that a shell script is being started. This is complete using the shebang assembles. For instance –

This tells the scheme that the commands that follow are to be executing by the Bourne shell. It's called a shebang because the # symbol is called a hash, and the! Symbol is called a bang.

To generate a script containing these commands, you put the shebang line first and then add the instructions –

Save the above contented and make the script executable –

The shell script is now prepared to be execute –

Upon execution, you will receive the following result –

Note − to execute a program obtainable in the present directory, use. /program name

### Extended Shell Scripts

Shell scripts have a number of necessary construct that tell the shell location what to do and when to do it. Of course, most scripts are more complex than the above one.

The shell is, after all, a real programme language, absolute with variables, control structures, and so forth. No matter how complex a script gets, it is still just a list of commands execute successively.

The following characters use the read command which takes the input from the keyboard and assign it as the value of the variable PERSON and ultimately prints it on STDOUT.

Here is a example run of the script –