Using the let command for arithmetic in Linux shell

We can use the bash built-in command let for performing arithmetic operations. To get more information about let, type the following:

$ help let

This should produce the following output of this command:

satish@backup:/home/satish$ help let
let: let arg [arg ...]
    Evaluate arithmetic expressions.

    Evaluate each ARG as an arithmetic expression.  Evaluation is done in
    fixed-width integers with no check for overflow, though division by 0
    is trapped and flagged as an error.  The following list of operators is
    grouped into levels of equal-precedence operators.  The levels are listed
    in order of decreasing precedence.

        id++, id--      variable post-increment, post-decrement
        ++id, --id      variable pre-increment, pre-decrement
        -, +            unary minus, plus
        !, ~            logical and bitwise negation
        **              exponentiation
        *, /, %         multiplication, division, remainder
        +, -            addition, subtraction
        <<, >>          left and right bitwise shifts
        <=, >=, <, >    comparison
        ==, !=          equality, inequality
        &               bitwise AND
        ^               bitwise XOR
        |               bitwise OR
        &&              logical AND
        ||              logical OR
        expr ? expr : expr
                        conditional operator
        =, *=, /=, %=,
        +=, -=, <<=, >>=,
        &=, ^=, |=      assignment

    Shell variables are allowed as operands.  The name of the variable
    is replaced by its value (coerced to a fixed-width integer) within
    an expression.  The variable need not have its integer attribute
    turned on to be used in an expression.

    Operators are evaluated in order of precedence.  Sub-expressions in
    parentheses are evaluated first and may override the precedence
    rules above.

Let’s start using the let command:

$ value=6
$ let value=value+1
$ echo $value7
$ let "value=value+4"
$ echo $value11
$ let "value+=1"#above expression evaluates as value=value+1
$ echo $value12

A summary of operators available with the let command follows:

  • Operation: Operator
  • Unary minus: -
  • Unary plus: +
  • Logical NOT: !
  • Bitwise NOT (negation): ~
  • Multiply: *
  • Divide: /
  • Remainder: %
  • Subtract: -
  • Add: +

Prior to Bash 2.x, the following operators were not available:

  • Bitwise left shift: <<
  • Bitwise right shift: >>
  • Equal to and not equal to: ==, !=
  • Comparison operators: <=, >=, <, >
  • Bitwise AND: &
  • Bitwise OR: |
  • Bitwise exclusive OR: ^
  • Logical AND: &&
  • Logical OR: ||
  • Assignment and shortcut assignment: = *=/= %= -= += >>= <<= &= |= ^=

Related Articles

Calculating and reducing the runtime of a script

In this article, we are going to learn how to calculate and reduce the script’s runtime. A simple time command will help in calculating the execution time.PrerequisitesBesides having a terminal open, make sure you have the necessary scripts present in your...

read more

Lorem ipsum dolor sit amet consectetur

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

twenty + thirteen =