UNIX-UNIT-III-TOPIC-6-SHELL Variables
UNIX-UNIT-III-TOPIC-6-SHELL Variables
Variable Types
Variable Names: The name of a variable can contain only letters (a to z or A to Z),
numbers ( 0 to 9) or the underscore character ( _). By convention, UNIX shell
variables will have their names in UPPERCASE.
IT-Ramesh 9848353570 1
variable_name=variable_value
For example −
NAME="Zara Ali"
The above example defines the variable NAME and assigns the value "Zara Ali" to
it. Variables of this type are called scalar variables. A scalar variable can hold only
one value at a time.
Shell enables you to store any value you want in a variable. For example −
VAR1="Zara Ali"
VAR2=100
Accessing Values: To access the value stored in a variable, prefix its name with
the dollar sign ($)
For example, the following script will access the value of defined variable NAME
and print it on STDOUT
#!/bin/sh
NAME="Zara Ali"
echo $NAME
Read-only Variables: Shell provides a way to mark variables as read-only by using
the read-only command. After a variable is marked read-only, its value cannot be
changed.
For example, the following script generates an error while trying to change the
value of NAME
#!/bin/sh
NAME="Zara Ali"
readonly NAME
NAME="Qadiri"
Unsetting Variables: Unsetting or deleting a variable directs the shell to remove
the variable from the list of variables that it tracks. Once you unset a variable, you
cannot access the stored value in the variable.
Following is the syntax to unset a defined variable using the unset command −
unset variable_name
The above command unsets the value of a defined variable. Here is a simple
example that demonstrates how the command works
#!/bin/sh
NAME="Zara Ali"
unset NAME
echo $NAME
IT-Ramesh 9848353570 2
An important UNIX concept is the environment, which is defined by environment
variables.
Variable Description
DISPLAY Contains the identifier for the display that X11 programs
should use by default.
HOME Indicates the home directory of the current user: the
default argument for the cd built-in command.
IFS Indicates the Internal Field Separator that is used by the
parser for word splitting after expansion.
PATH Indicates the search path for commands. It is a colon-
separated list of directories in which the shell looks for
commands.
PWD Indicates the current working directory as set by the cd
command.
RANDOM Generates a random integer between 0 and 32,767 each
time it is referenced.
TERM Refers to the display type.
The following table shows a number of special variables that can be used in
your shell scripts −
IT-Ramesh 9848353570 3
Variable Description
IT-Ramesh 9848353570 4