Linux sys admin blog
Tech support forum
Computer & Tech blog
Linux Shell Scripting Tutorial v1.05r3 - A Beginner's handbook
© 1999-2006 by nixCraft <
of this tutorial available.
Table of Contents
Quick Introduction to Linux
What Linux is?
Who developed the Linux?
How to get Linux?
How to Install Linux
Where I can use Linux?
What Kernel Is?
What is Linux Shell?
How to use Shell
What is Shell Script ?
Why to Write Shell Script ?
More on Shell...
Getting started with Shell Programming
How to write shell script
Variables in shell
How to define User defined variables (UDV)
Rules for Naming variable name (Both UDV and System Variable)
How to print or access value of UDV (User defined variables)
More about Quotes
The read Statement
Wild cards (Filename Shorthand or meta Characters)
More commands on one command line
Command Line Processing
Why Command Line arguments required
Redirection of Standard output/input i.e. Input - Output redirection
What is Processes
Why Process required
Linux Command(s) Related with Process
Shells (bash) structured Language Constructs
Decision making in shell script ( i.e. if command)
test command or [ expr ]
Loops in Shell Scripts
Nested for loop
The case Statement
How to de-bug the shell script?
Advanced Shell Scripting Commands
/dev/null - to send unwanted output of program
Local and Global Shell variable (export command)
Conditional execution i.e. && and ||
I/O Redirection and file descriptors
User Interface and dialog utility-Part I
User Interface and dialog utility-Part II
Message Box (msgbox) using dialog utility
Confirmation Box (yesno box) using dialog utility
Input (inputbox) using dialog utility
User Interface using dialog Utility - Putting it all together
The shift Command
Essential Utilities for Power User
Preparing for Quick Tour of essential utilities
Selecting portion of a file using cut utility
Putting lines together using paste utility
The join utility
Translating range of characters using tr utility
Data manipulation using awk utility
sed utility - Editing file without using editor
Removing duplicate lines from text database file using uniq utility
Finding matching pattern using grep utility
Learning expressions with ex
Getting started with ex
Printing text on-screen
Searching the words
Find and Replace (Substituting regular expression)
Replacing word with confirmation from user
Using range of characters in regular expressions
Using & as Special replacement character
Converting lowercase character to uppercase
Getting Starting with awk
Predefined variables of awk
Doing arithmetic with awk
User Defined variables in awk
Use of printf statement
Use of Format Specification Code
if condition in awk
Loops in awk
Real life examples in awk
sed - Quick Introduction
Redirecting the output of sed command
How to write sed scripts?
More examples of sed
Examples of Shell Scripts
Shell script to print given numbers sum of all digit
Shell script to print contains of file from given line number to next given number of lines
Shell script to say Good morning/Afternoon/Evening as you log in to system
Shell script to find whether entered year is Leap or not
Sort the given five number in ascending order
(use of array)
Command line (args) handling:
Adding 2 nos. suppiled as command line args
Calculating average of given numbers on command line args
Finding out biggest number from given three nos suppiled as command line args
Shell script to implement getopts statement
Basic math Calculator
Loops using while & for loop:
Print nos. as 5,4,3,2,1 using while loop
Printing the patterns using for loop.
Arithmetic in shell scripting:
Performing real number calculation in shell script
Converting decimal number to hexadecimal number
Calculating factorial of given number
Shell script to determine whether given file exist or not.
Screen handling/echo command with escape sequence code:
Shell script to print "Hello World" message, in Bold, Blink effect, and in different colors like red, brown etc.
Background process implementation:
Digital clock using shell script
User interface and Functions in shell script:
Shell script to implements menu based system
Getting more information about your working environment through shell script
Shell script to gathered useful system information such as CPU, disks, Ram and your environment etc
Shell script to add DNS Entery to BIND Database with default Nameservers, Mail Servers (MX) and host
Integrating awk script with shell script:
Script to convert file names from UPPERCASE to lowercase file names or vice versa.
Other Linux tutorials
About the author
About this Document
Quick Introduction to Linux
Want to read Linux
, but don't have time to check our site everyday? Subscribe to our
weekly email newsletter
OR grab our
to make sure you don't miss a single tip/tricks.
This work is still in progress. I'm upgrading this tutorial to version 1.06 and trying to fix typos & grammar. Special thanks to
Northern Virginia Linux user group
( and Sidney) for fixing couple of typos and grammar
**** Download ****
HTML tar ball/zip file
to read this tutorial offline.