What is an operator?
Operator is an symbol in programming that performsn an operation on operands
Syntax
operand1 operator operand2
There are two types of operators.
- Binary Operator: It operates on two operands such as addition, subtraction, multiplication, division, and modulus
- unary operator: It operats on single operand such as increment and decrement
Bash Arithmetic Operators
Arithmetic operators in Bash provide arithmetic operations such as add, division, subtraction, and division multiplication operators.
Operator | Title | Description | Example |
---|---|---|---|
+ | Addition | addition of two or more operands | p+q=50 |
- | Subtraction | subtraction of two or more operands | q-p=10 |
* | Multiplication | multiplication of two or more operands | p*q=600 |
/ | Divide | results quotient after the division of values | q/p=1.5 |
% | Modulus | Return the remainder after the division of values | q%p=10 |
% | Modulus | Return the remainder after the division of values | q%p=10 |
-expr | Unary Minus | reverse of an expression | -(10-7) is -3 |
~/ | Division Int | returns division int value | (10~/7) is 1 |
++ | Increment | Increment the value by 1 | ++p=21 |
-- | Decrement | Decrement the value by 1 | --q=29 |
Here is an arithmetic operator example
Assignment Operators
Assignment operators are used to assign the values to an variables. The basic operation is equal(=)
Additionally, THere are other assignment operators.
for example, p is 20
Operation | Symbol | Description | Result |
---|---|---|---|
Add Assign | += | Addition and assignment to variable | ((p += 3)) is 23 |
Substract Assign | -= | Substract and assignment to variable | ((p -= 3)) is 17 |
Multiplicate Assign | *= | Multiplicatie and assignment to variable | ((p *= 2)) is 40 |
Division Assign | /= | Addition and assignment to variable | ((p /= 5)) is 4 |
Bitwise Operators
Operation | Symbol | Description | Result |
---|---|---|---|
AND | & | Bitwise AND of two operands | $op1 & $op2 is 0 |
AND Equal | &= | Bitwise AND Equal of two operands | $op1 & $op2 is 0 |
OR | | | Bitwise OR of two operands | $op1 | $op2 is 7 |
XOR | ^ | Bitwise XOR of two operands | $op1 ^ $op2 is 7 |
Left Shift | << | Bitwise Left Shift of two operands | $op1 & $op2 is 0 |
Left Shift Eql | <<= | Bitwise Left Shift Equal of two operands | $op1| $op2 is 7 |
XOR | ^ | Bitwise XOR of two operands | $op1 ^ $op2 is 7 |
XOR | ^= | Bitwise XOR Equal of two operands | $op1 ^ $op2 is 7 |
Logical operators
These operators are used to perform logicaton operations on variables/expressions/data.
Operation | Symbol | Description | Result |
---|---|---|---|
Logical AND | && | Return true(exit status=0) if both operands are true, else return false(exit status is non zero) | $op1 &&& $op2 is 0 |
Logical OR | || | Logical OR of two operands | $op1 & $op2 is 0 |
Logical NOT | \! | Reverse the conditional value. | $op1 s 7 |
Here is an example
String Comparision Operator
Operation | Description |
---|---|
-z String | Return true if string is empty, else false. |
-n String | REturn true, If string is not empty |
str1=str2 | return true, if str1 and str2 are equal |
str1!=str2 | return true, if str1 and str2 are not equal |
str1>str2 | return true, if str1 sorts before str2 |
str1<str2 | return true, if str1 sorts after str2 |
Numerical Comparision Operator
Following are Comparison operator.
used the -eq operator in the if fi
conditional statement
first=13
second=15
if [ "$first" -eq "$second" ]; then
echo "Two numbers are equal";
fi
| Operation | Name | Description | | :——– | —————— | | -eq | equal | Check if two variables are equal | | -ne | Not equal | Check if two variables are not equal | | -lt | Less than | Check if first variable is less than second variable | | -le | Less than equal | Check first variable is less than equal to second variable | | -gt | greater than | Check if frst variable is greater than second variable | | -ge | greater than equal | Check if first variable is greater than equal to second variable |
Here is an example
p=11
q=5
if [ "$p" -ne "$q" ]; then
echo "Two numbers are not equal";
fi
Other operators
Operation | Description |
---|---|
-v variable | Returns true if an variable set an value, means value is assigned |
-o optname | Returns true if an shell optname is enabled |
-R variable | Returns true if an variable set an value, and it is a named reference |