0% found this document useful (0 votes)
64 views

Linux Shell

The shell is a command interpreter that runs other programs and acts as an interface between the user and the operating system. As a command interpreter, it receives commands from the user and runs the corresponding programs. The shell is also a programming language with features like variables, functions, and loops. There are different types of shells that can be graphical like Ubuntu or command-line based like Terminal. Common shells include Bash, Csh, Ksh, and Zsh, each with their own commands and functions. Shell scripts allow automating repetitive tasks by writing a series of commands as a file that can then be executed.

Uploaded by

kkkk
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

Linux Shell

The shell is a command interpreter that runs other programs and acts as an interface between the user and the operating system. As a command interpreter, it receives commands from the user and runs the corresponding programs. The shell is also a programming language with features like variables, functions, and loops. There are different types of shells that can be graphical like Ubuntu or command-line based like Terminal. Common shells include Bash, Csh, Ksh, and Zsh, each with their own commands and functions. Shell scripts allow automating repetitive tasks by writing a series of commands as a file that can then be executed.

Uploaded by

kkkk
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Linux Shell

The shell can be defined as a command interpreter within an operating system like Linux/GNU or
Unix. It is a program that runs other programs. The shell facilitates every user of the computer as
an interface to the Unix/GNU Linux system. Hence, the user can execute different tools/utilities or
commands with a few input data.

The shell sends the result to the user over the screen when it has completed running a program
which is the common output device. That's why it is known as "command interpreter".

The shell is not just a command interpreter. Also, the shell is a programming language with
complete constructs of a programming language such as functions, variables, loops, conditional
execution, and many others.

For this reason, GNU/Unix Linux Shell is stronger than the Windows shell.

Broadly, the shell is categorized into two main categories which are explained below:

Graphical Shells

These shells specifies the manipulation of programs that are based on the graphical user
interface (GUI) by permitting for operations like moving, closing, resizing, and opening windows
and switching focus among windows as well. Ubuntu OS or Windows OS could be examined as a
good example that offers a graphical user interface to the user to interact with the program.
Various users don't need for typing in any command for all the actions.

⇧ SCROLL TO TOP
Command-line Shell
Various shells could be accessed with the help of a command-line interface by users. A unique
program known as Command prompt in Windows or Terminal in macOS/Linux is offered for
typing in the human-understandable commands like "ls", "cat", etc and after that, it is being run.
The result is further shown to the user on the terminal.

Working on a command-line shell is a complicated for many beginners due to it is hard to


remember several commands. Command-line shell is very dominant and it permits users for
storing commands in a file and run them together. In this way, a repetitive action could be
automated easily. Usually, these files are known as Shell scripts in macOS/Linux systems and
batch files in Windows.

There are various types of shells which are discussed as follows:

Bash Shell

In the bash shell, bash means Bourne Again Shell. It is a default shell over several distributions of
Linux today. It is a sh-compatible shell. It could be installed over Windows OS. It facilitates
practical improvements on sh for interactive and programming use which contains:

Job Control

Command-line editing

Shell Aliases and Functions

⇧ SCROLL TO TOP
Unlimited size command history
Integer arithmetic in a base from 2-64

Csh/Tcsh Shell

Tcsh is an upgraded C shell. This shell can be used as a shell script command processor and
interactive login shell.

Tcsh shell includes the following characteristics:

C like syntax

Filename completion and programmable word

Command-line editor

Job control

Spelling correction

Ksh Shell

Ksh means for Korn shell. It was developed and designed by David G. Korn. Ksh shell is a high-
level, powerful, and complete programming language and it is a reciprocal command language as
well just like various other GNU/Unix Linux shells. The usage and syntax of the C shell are very
same as the C programming language.

Zsh Shell

Zsh shell is developed to be reciprocal and it combines various aspects of other GNU/Unix Linux
shells like ksh, tcsh, and bash. Also, the POSIX shell standard specifications were based on the
Korn shell.

Also, it is a strong scripting language like other available shells. Some of its unique features are
listed as follows:

Startup files

Filename generation

Login/Logout watching

Concept index

Closing comments
⇧ SCROLL TO TOP
Variable index
Key index

Function index and various others that we could find out within the man pages.

All these shells do a similar job but take different commands and facilitate distinct built-in
functions.

Fish

Fish stands for "friendly interactive shell". It was produced in 2005. Fish shell was developed to
be fully user-friendly and interactive just like other shells. It contains some good features which
are mentioned below:

Web-based configuration

Man page completions

Auto-suggestions

Support for term256 terminal automation

Completely scripted with clean scripts

Shell Prompt
It is known as a command prompt and it is issued via the shell. We can type any command while
the prompt is shown.

Shell reads our input after we click Enter. It illustrates the command we want to be run by seeing
at the initial word of our input. A word can be defined as the character's unbroken set. Tabs and
spaces separate words.

The below is a common data command example that shows the current time and date:

We can also customize our command prompt with the help of PS1 (environment variable).

Shell Scripting
The common concept of the shell script is the command list. A good shell script will contain
comments which are preceded via # simbol.

Shell functions and scripts are interpreted. It means they aren't compiled.
⇧ SCROLL TO TOP
There are also conditional tests like value Y is greater than value Z, loops permitting us to proceed
by massive data amounts, files to store and read data, and variables to store and read data, and
these scripts may contain functions.

The shells are usually interactive which means they receive commands as input through the users
and run them. Although sometimes we routinely wish to run a set of commands, hence, we have
to type within the commands all-time inside the terminal.

A shell script includes syntax similarly to other programming languages. When we have prior
experience along with a programming language such as C/C++, Python, etc. It will be very easy to
begin with it. The shell script combines the below components:

Functions

Control flow: if, else, then, shell loops, case, etc.

Shell commands: touch, pwd, echo, ls, cd, etc.

Shell keywords: break, if, else, etc.

Shell Scripts Need

There are several causes to write these shell scripts:

For avoiding automation and repetitive work

Shell scripting is used by system admins for many routine backups

Including new functionalities to the shell

System monitoring etc.

Shell Script Advantages

The syntax and command are exactly similar to those entered directly in a command line.
Thus, the programmers don't have to switch to completely different syntax

Interactive debugging

Quick start

It is much quicker to write the shell scripts etc.

⇧Shell Script
SCROLL Disadvantages
TO TOP
A single error can modify the command which could be harmful, so prone to very costly
errors.

Design flaws in the language implementation and syntax.

Slower execution speed.

Offer minimal data structure dissimilar other scripting languages.

Not well suited for complex and large tasks etc.

Script Example

Assume we make a test.sh script. We have to alert a system that the shell script is started before
we include anything else in our script.

Note: Every script will have a .sh extension.

It can be done with the help of the shebang construct.

For example:

#!/bin/sh

It shows the system that several commands that pursue are to be run by the Bourne shell. It is
known as the shebang due to the symbol # is known as hash and the symbol ! It is known as the
bang.

To make a script including these commands, we put the shebang construct line first, and after
that add any command:

#!/bin/bash

pwd

Comments in shell
We can put our comments in our script below:

#!/bin/bash

⇧ SCROLL TO TOP
Make the script runnable and save the content mention above:

$chmod +x test.sh

Now, the shell script is ready to be run:

$./test.sh

Under execution, we will get the result as follows:

/home/amrood

index.htm unix-
b i tiliti ht

Note:- For executing a program present in the latest directory, we can use the ./program_name

Extended Shell Scripts


The shell scripts contain several needed constructs that define the shell platform when to do it
and what to do. Most of the scripts are more complicated than the above scripts.

After all, the shell is an actual programming language that is complete with control structures,
variables, and so on. Still, it is only the commands list executed sequentially no matter how
complex a script gets.

The following script is using the read command that gets the input through the keyboard and
appoints it as the variable PERSON value and prints it over STDOUT finally.

← Prev
Next →

Youtube
For Videos Join Our Youtube Channel: Join Now

Feedback
⇧ SCROLL TO TOP

You might also like