Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

What is Shell in Linux?

Introduction to Shell in Linux

The Linux is a code that transmits the system commands., Compilers, Editors, linkers and Command-line interpreters are important and useful but they are not part of the operating system. We will look briefly at the LINUX command interpreter, called the Shell, which, although not part of the operating system, makes heavy use of many operating system features and thus serves as a good example of how the system calls can be used. It is also the primary interface between a user sitting at his terminal and the operating system.

Shell has standard Input and output as its terminal. Shell is started when a user begins to login. To start a command a dollar sign is typed which indicates the user that the shell is ready to accept the command. For instance, when a user gives the date as input the there is a child process created and a program begins to run as a child process. Only when the child process is terminated after execution the shell gets back to the prompt and types again and after that, it reads the following lines as input.

Example

It prints the current date and time.

Command: $date

Example

The user can specify that the standard output be redirected to a file,

Command: $date > file

Example

The user can specify that standard input can be redirected, as in

Command: $sort file2

Which invokes the sort program with input takes from file1 and output sent to file2

Example

The pipe helps in connecting the output of a particular program as input to other programs.

Command: $cat file1 file2 file3 | sort>/dev/lp

Which invokes the cat program to concatenate three files and send the output to sort to arrange all the lines in alphabetical order. The output of sort is redirected to the file /dev/lp, which is a typical name for the special character file for the printer.

Types of Shell

SHELL determines the type of shell that a user sees logging in. Today, there is a host of the shell that accompanies any LINUX system, and you can select the one you like the most. Besides the Bourne shell which is the most popular in the LINUX world, the C and Korn shells have also carved out a niche for themselves, because of certain inherent advantages. The C shell is known by the program csh, the Korn shell by ksh and the bourne shell by sh.

If you wish to use any of the above shell types as the default shell, then the variable needs to be assigned accordingly. However, this assignment is made by the system after reading a field in the file /etc./passwd. If you wish to change the setting permanently, then this file needs to be edited. The system administrator usually sets up your login shell while creating a user account, though you can change it whenever you request to.

Shell Keywords

Keywords are the words, are called reserved words. Following is the list of keywords available in the Bourne shell.

Echo if until trap
read else case wait
set fi esac eval
unset while break exec
read-only do continue ulmit
shift Done exit umask
export For return

1. Unchanging variables- set keyword

In some applications, a need may arise for variables to have a constant or fixed value. For instants, if we want that a’s variable should always remain 20 and not changed, we can achieve this by saying,

Example #1

$a = 20
$readonly a

The shell will not permit to change a value when they are created as read-only. Read-only variables can be created by typing read-only at a command prompt.

When there is a need to clear or erase a particular command from the shell, we will use the “unset” keyword as a command.

Example #2

$a = 20
$echo a
20
$unset a
$echo a  // a have no value now so it prints nothing

2. Echo keyword

To print either the value of any variable or words under double quotation.

Example #1

x=20
echo $x

Output:

Example #2

echo "Hello World!"

Output:

  • Pwd command

pwd

Output:

  • Ls command

mkdir newdir
ls

Output:

  • Mkdir command

mkdir imp
ls

Output:

3. Cd command: read keyword

The read statement is the shell’s internal tool for taking input from the standard input. Functionally, it is similar to the INPUT statement of BASIC and the scanf() function in C. But it has one or two interesting features, it can be used with one or more variables to make shell scripts interactive. The input supplied through the standard input during interactive is read into these variables. The script emp1.sh uses the statement to take the search string and the filenames from the terminal.

Command – Shell in Linux

$cat emp1.sh
#Script : emp1.sh - Interactive version
#The pattern and filename to be supplied by the user
echo "\nEnter the pattern to be searched : \c"
read pname
echo "\nEnter the file to be used :\c"
read flname
echo "\nSearching for $pname from the $flname\n"
grep "$pname" $flname
echo "\nSelected records shown above"
$_
Run it, and specify the input accordingly
$emp1.sh
Enter the pattern to be searched: director
Enter the file to be used: emp2.lst
Searching for director from file emp2.lst

Output:

Read can also be used to make the script pause without accepting any input from the user. It can simply wait for the key to be pressed for program execution to continue (somewhat like the WAIT command of dBASE). You can also condense the above program to some extent by accepting both the arguments in one line; a single read can also be used with two or more variables names.

Conclusion

In a Linux/Unix operating system, the function of the shell is to interpret the command output. It acts as an interface to run the commands. Linux and Unix shell have additional features than a command Interpreter, it acts as a programming language with basic structures like conditional loops, functions, variables, etc. Shell is a powerful environment that can be used to run the commands and works also as a programming language by using the input commands and executing them. Hence shell is widely used Interface due to its features, a Linux/Unix Shell has more advantages than a Windows Shell.

Recommended Articles

This is a guide to What is Shell in Linux? Here we discuss the introduction, types of Shell along with Commands and respective examples. You can also go through our other related articles to learn more–

  1. AngularJS Animations
  2. Zip Command in Linux
  3. What is Unix Shell?
  4. Linux Process Management

The post What is Shell in Linux? appeared first on EDUCBA.



This post first appeared on Best Online Training & Video Courses | EduCBA, please read the originial post: here

Share the post

What is Shell in Linux?

×

Subscribe to Best Online Training & Video Courses | Educba

Get updates delivered right to your inbox!

Thank you for your subscription

×