Linux Shell Scripting
more power than the MS-DOS batch file. Shell script can take input from user, file and output them
on screen. Useful to create our own commands that can save our lots of time and to automate some
task of day today life.
Variables in Linux
Sometimes to process our data/information, it must be kept in computers RAM memory. RAM
memory is divided into small locations, and each location had unique number called memory
location/address, which is used to hold our data. Programmer can give a unique name to this
memory location/address called memory variable or variable (Its a named storage location that may
take different values, but only one at a time). In Linux, there are two types of variable
1) System variables - Created and maintained by Linux itself. This type of variable defined in
CAPITAL LETTERS.
2) User defined variables (UDV) - Created and maintained by user. This type of variable defined
in lower LETTERS.
Some System variables
You can see system variables by giving command like $ set, Some of the important System
variables are
System Variable
Meaning
BASH=/bin/bash
Our shell name
BASH_VERSION=1.14.7(1)
Our shell version name
COLUMNS=80
No. of columns for our screen
HOME=/home/vivek
Our home directory
LINES=25
No. of columns for our screen
LOGNAME=students
Our logging name
OSTYPE=Linux
Our o/s type : -)
PATH=/usr/bin:/sbin:/bin:/usr/sbin
Our path settings
PS1=[\u@\h \W]\$
Our prompt settings
PWD=/home/students/Common
Our current working directory
SHELL=/bin/bash
Our shell name
USERNAME=vivek
User name who is currently login to this PC
NOTE that Some of the above settings can be different in your PC. You can print any of the above
variables contain as follows
$ echo $USERNAME
$ echo $HOME
Caution:
Do not modify System variable this can some time create problems.
How to define User defined variables (UDV)
To define UDV use following syntax
Syntax: variablename=value
NOTE: Here 'value' is assigned to given 'variablename' and Value must be on right side = sign For
e.g.
$ no=10 # this is ok
$ 10=no # Error, NOT Ok, Value must be on right side of = sign.
To define variable called 'vech' having value Bus
Linux Shell Script Tutorial