Photo by NASA on Unsplash
If you want to learn bash bash scripting please read this article.
Learn complete Linux bash (shell) scripting in one article
Operators help us perform various types of operations such as addition, multiplication etc.
There are following types of operators present in bash:
- Arithmetic,
 - Relational,
 - Boolean,
 - File Test,
 - String Test
 
1. Arithmetic Operators
All the arithmetic operators present in bash are discussed below with examples.
These operators work with integers.
1.1 Addition Operator
It’s a + that adds  operands together.
Shown in the below example:
$x=20
$y=30
a=`expr $x + $y`
echo $a
This will display:
50
NOTE:
- The
 exprcommand evaluates the expression.- There is
 <space>before and after the+operator .
1.2 Subtraction Operator
It’s a - that subtracts second operand from first operand.
Shown in the below example:
$x=40
$y=30
a=`expr $x - $y`
echo $a
This will display:
10
1.3 Multiplication Operator
It’s a * that multplies operands together.
Shown in the below example:
$x=2
$y=3
a=`expr $x * $y`
echo $a
This will display:
6
1.4 Division Operator
It’s a / that  performs division operation.
Shown in the below example:
-Example 1-
$x=200
$y=50
a=`expr $x / $y`
echo $a
This will display:
4
-Example 2-
$x=20
$y=3
a=`expr $x / $y`
echo $a
This will display:
6
1.5 Modulus Operator
It’s a % that performs modulus operation and returns the remainder.
Shown in the below example:
$x=10
$y=3
a=`expr $x % $y`
echo $a
This will display:
1
1.6 Equality Check Operator
It’s a == that performs equality check operation and returns 1 if both sides are equal otherwise returns 0.
Shown in the below example:
-Example 1-
$x=10
$y=10
a=`expr $x == $y`
echo $a
This will display:
1
-Example 2-
$x=10
$y=5
a=`expr $x == $y`
echo $a
This will display:
0
1.7 Not Equal Check Operator
It’s a != that performs equality check operation and returns 0 if both sides are equal otherwise returns 1.
Shown in the below example:
-Example 1-
$x=10
$y=10
a=`expr $x == $y`
echo $a
This will display:
0
-Example 2-
$x=10
$y=5
a=`expr $x == $y`
echo $a
This will display:
1
2. Relational Operators
Relational operators are used to perform comparison among given operands.
-eq (Equals to operator)
This checks whether the operands are equal.
This operator is used to perform comparison in the if condition.
a=10
b=10
if [ $a -eq $b ]
	then
	echo "Equal"
else 
	echo "Not Equal" 
fi
Equal
-ne (Not equals to operator)
This checks whether the operands are equal.
This operator is used to perform comparison in the if condition.
a=10
b=20
if [ $a -ne $b ]
	then
	echo "Not Equal"
else 
	echo "Equal" 
fi
Not Equal
-gt (Greater than operator)
This checks whether the first operand is greater than the second operand.
This operator is used to perform comparison in the if condition.
a=40
b=20
if [ $a -gt $b ]
	then
	echo "$a is greater than $b"
else 
	echo "$a is not greater than $b" 
fi
40 is greater than 20
-lt (Less than operator)
This checks whether the first operand is less than the second operand.
This operator is used to perform comparison in the if condition.
a=20
b=40
if [ $a -lt $b ]
	then
	echo "$a is less than $b"
else 
	echo "$a is not less than $b" 
fi
20 is greater than 40
-ge (Greater than or equals to operator)
This checks whether the first operand is greater than or equals to the second operand.
This operator is used to perform comparison in the if condition.
a=40
b=20
if [ $a -ge $b ]
	then
	echo "$a is greater than or equals to $b"
else 
	echo "$a is not greater than $b" 
fi
40 is greater than or equals to 20
-le (Less than or equals to operator)
This checks whether the first operand is greater than or equals to the second operand.
This operator is used to perform comparison in the if condition.
a=40
b=200
if [ $a -le $b ]
	then
	echo "$a is less than or equals to $b"
else 
	echo "$a is not less than $b" 
fi
40 is less than or equals to 200
3. Boolean Operators
! (Not operator)
This changes true into false and vice versa.
We have used this operator in Not equal operator under arithmetic operators.
Shown in the below example:
-Example 1-
$x=10
$y=10
a=`expr $x == $y`
echo $a
This will display:
0
-Example 2-
$x=10
$y=5
a=`expr $x == $y`
echo $a
This will display:
1
-o (OR operator)
Checks whether one of the operands is true and executes the statements.
a=40
b=20
c=10
if [ $a -gt $b -o $c -gt $b]
	then
	echo "$a or $c is greater than $b"
else 
	echo "$a is not less than $b" 
fi
40 or 10 is greater than 20
-a (AND operator)
Checks whether all of the operands are true and executes the statements.
a=40
b=20
c=100
if [ $a -gt $b -a $c -gt $b]
	then
	echo "$a and $c are greater than $b"
else 
	echo "$a is not less than $b" 
fi
40 and 100 are greater than 20
4. String Test Operators
These operators are used to perform string related comparisons.
= (Equality Operator)
Check whether two strings are equal.
user="VIKAS"
defaultUser="VIKAS"
if [ $user = $defaultUser ]
then
	echo "User is allowed"
else
	echo "User is not allowed"
fi 
User is allowed
!= (Not equal operator)
Check whether two strings are not equal.
user="VIKAS"
defaultUser="DAVE"
if [ $user != $defaultUser ]
then
	echo "User is not allowed"
else
	echo "User is allowed"
fi 
User is not allowed
-z (Zero length string)
Checks whether the string is zero length.
s=""
if [ -z $s ]
then 
	echo "String is zero length"
else
	echo "String is non zero length"
fi
String is zero length
-n (Non zero length string)
Checks whether the string is empty.
s="Village Programmer"
if [ -n $s ]
then 
	echo "String is non zero length"
else
	echo "String is zero length"
fi
String is non zero length
Empty string check
s=""
if [ $s ]
then 
	echo "String is not empty"
else
	echo "String is empty"
fi
String is not empty
Keep Learining, Keep Practicing. :) :)
That’s All. 😅
Thanks for reading. 🙏
If you liked it feel free to share with your dear ones.💗
And tell me what do you think in the comment box.💬
Stay tuned with Village Programmer.
Post a Comment