Let’s learn about creating variables in 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
unset command can be used to delete the declared variable:
$ a=20$ echo $a $ unset a
unset command will clear or remove the variable from the shell environment as well.
set command will show all variables declared in the shell:
$ person="Ganesh Naik" $ echo $person$ set
Here, using the
declare command with the
-x option will make it an environmental or global variable. We will find out more about environmental variables in the next section.
$ declare -x variable=value
env command will display all environmental variables:
Whenever we declare a
variable will be available in the current Terminal or shell. This
variable will not be available to any other Terminal or shell:
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:
Earth Earth $planet $planet
From the preceding script’s execution, we can observe that
"$ variable" can be used to display the content of the variable. But if we use
$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.