let command in Linux with Examples
Last Updated :
31 Jul, 2023
The `let` command in Linux is a powerful tool used for evaluating arithmetic expressions on shell variables. It supports various operators and functionalities to perform calculations and manipulate values.
Syntax of `let` command in Linux
The basic syntax of the `let` is as follows.
let [expression]
Here, [expression] represents the arithmetic expression to be evaluated.
Options available in `let` command
Basic arithmetic operators
The addition(+), subtraction(-), multiplication(*), division(/) and modulus(%) operators can be used in the expression with the let command.
Example:
let "myvar =2" "myvar1=1" "myvar2=myvar1+myvar"; echo $myvar2
let "myvar =2" "myvar1=1" "myvar2=myvar1-myvar"; echo $myvar2
let "myvar =2" "myvar1=1" "myvar2=myvar1*myvar"; echo $myvar2
let "myvar =2" "myvar1=1" "myvar2=myvar1/myvar"; echo $myvar2
let "myvar =2" "myvar1=1" "myvar2=myvar1%myvar"; echo $myvar2

Post-increment(var++) / post-decrement(var--) operator:
This operator is used to interpret the integer value then increase/decrease the integer variable by 1.
Example:
let "myvar=2" "myvar2=myvar++" ; echo $myvar $myvar2

The above example, myvar2 gets the value of myvar2 before the increment occurs.
Pre-increment(++var) / Pre-decrement(--var) operator:
This operator increases/decreases the integer value by 1 and then interprets the integer variable.
Example:
let "myvar=10" "myvar2=--myvar"; echo $myvar $myvar2

In the above example, the change in value occurs first then the value gets stored in myvar2.
Unary plus(+exp) / Unary minus(-exp):
This operator is used to multiply a given expression by 1 or -1.
Example:

In the above example, the value of myvar changes from positive to negative with unary minus operator.
Bit-wise negation (~) :
This operator is used to negate every bit of the integer value i.e., turns 0 to 1 and 1 to 0.
Example:
let "myvar=0" "myvar= ~myvar"; echo $myvar
In the above example, the value myvar is '0000...00' in binary while the negation is '1111...11' which is the 2's complement value of -1.
Exponent (**) operator :
This operator is used to raise one quantity to the power of another.
Example:
let "myvar= 5 ** 2" ; echo $myvar

Bitwise shift left / Bitwise shift right :
This operator is used to shift the order of the bits either to the left or right.
Example:
let "myvar = 5 << 2"; echo $myvar

Bitwise AND operator:
This operator does a bitwise comparison between two bits and returns 1 if both are 1 else returns 0.
Example:
let "myvar=5" "myvar2=4" "myvar3 = myvar & myvar2" ; echo $myvar3

Bitwise OR operator:
This operator makes a bitwise comparison between two bits and returns 1 if atleast one the bits is 1, else returns 0.
Example:
let "myvar=7" "myvar2=4" "myvar3= myvar | myvar2" ; echo $myvar3

Bitwise XOR operator:
This operator does a bitwise comparison between two bits and returns 0 if they are alike, else returns 1.
Example:
let "myvar=7" "myvar2=4" "myvar3= myvar ^ myvar2" ; echo $myvar3

Conclusion
In this article we have discussed `let` command in Linux which is used in evaluation of arithmetic expressions on shell variables. By understanding the syntax and utilizing the various options available with the `let` command, we can leverage its power to handle complex arithmetic operations within the Linux command line environment.
Explore
Getting Started with Linux
Installation with Linux
Linux Commands
Linux File System
Linux Kernel
Linux Networking Tools
Linux Process
Linux Firewall
Shell Scripting & Bash Scripting
Linux Administrator System