Let’s learn about creatingvariablesin a shell.
Declaring variables in Linux is very easy. We just need to use the variable name and initialize it with the required content.
$ person="Ganesh Naik"
To get the content of the variable, we need to add the prefix $ before the variable, for example:
$ echo person
person
$ echo $person
Ganesh Naik
The unset command can be used to delete the declared variable:
$ a=20$ echo $a
$ unset a
Theunsetcommand will clear or remove the variable from the shell environment as well.
Here, thesetcommand will show all variables declared in the shell:
$ person="Ganesh Naik"
$ echo $person$ set
Here, using thedeclarecommand with the-xoption will make it an environmental or global variable. We will find out more about environmental variables in the next section.
$ declare -x variable=value
Here, theenvcommand will display all environmental variables:
$ env
Whenever we declare a variable, that variable will be available in the current Terminal or shell. This variable will not be available to any other Terminal or shell:
variable=value
Let’s write a shell script, as follows:
#!/bin/bash
# This script clears the window, greets the user,
# and displays the current date and time.
clear # Clear the window
echo "SCRIPT BEGINS"
echo "Hello $LOGNAME!" # Greet the user
echo
echo "Today's date and time:"
date # Display current date and time
echo # Will print empty line
my_num=50
my_day="Sunday"
echo "The value of my_num is $my_num"
echo "The value of my_day is $my_day"
echo
Let’s see the effect of $, "", '' on variable behavior:
#!/bin/bash
planet="Earth"
echo $planet
echo "$planet"
echo '$planet'
echo $planet
exit 0
The output is as follows:
Output:Earth
Earth
$planet
$planet
From the preceding script’s execution, we can observe that $variable and "$ variable" can be used to display the content of the variable. But if we use '$variable' or $variable, then the special functionality of the $ symbol is not available. The $ symbol is used as a simple text character instead of utilizing its special functionality of getting the variable’s content.