User Tools

Site Tools


burim:bash:udemy:condition_statement
If Statement ( If then , If then else, If elif else)
Bash Shell
Conditional Statements 
Conditionals let us decide whether to perform an action or not, this decision is taken by evaluating an expression. The most basic form is:
    if [ expression ];
      then
            statements
      elif [ expression ];
      then
            statements
      else
            statements
    fi
the elif (else if) and else sections are optional
Put spaces after [ and before ], and around the operators and operands. 
Bash Shell
  • Expressions
  • An expression can be: String comparison, Numeric comparison, File operators and Logical operators and it is represented by [expression]:

String Comparisons:

=  compare if two strings are equal
!=  compare if two strings are not equal
  1. n evaluate if string length is greater than zero
  1. z evaluate if string length is equal to zero
  • Examples:
[ s1 = s2 ]  (true if s1 same as s2, else false)
[ s1 != s2 ]  (true if s1 not same as s2, else false)
[ s1 ]   (true if s1 is not empty, else false)
[ -n s1 ]   (true if s1 has a length greater then 0, else false)
[ -z s2 ]   (true if s2 has a length of 0, otherwise false)
  • Bash Shell
  • Expressions
  • Number Comparisons:
\-eq compare if two numbers are equal
\-ge         compare if one number is greater than or equal to a number
\-le  compare if one number is less than or equal to a number
\-ne  compare if two numbers are not equal
\-gt  compare if one number is greater than another number
\-lt  compare if one number is less than another number
  • Examples:
[ n1 -eq n2 ]  (true if n1 same as n2, else false)
[ n1 -ge n2 ]  (true if n1greater then or equal to n2, else false)
[ n1 -le n2 ]  (true if n1 less then or equal to n2, else false)
[ n1 -ne n2 ]  (true if n1 is not same as n2, else false)
[ n1 -gt n2 ]  (true if n1 greater then n2, else false)
[ n1 -lt n2 ]  (true if n1 less then n2, else false)
  • Examples
  • user.sh
#!/bin/bash
    echo -n “Enter your login name: "
    read name
    if [ “$name” = “$USER” ];
    then
          echo “Hello, $name. How are you today ?”
    else
          echo “You are not $USER, so who are you ?”
    fi
  • number.sh
#!/bin/bash
    echo -n “Enter a number 1 < x < 10: "
    read num
    if [ “$num” -lt 10 ]; then
          if [ “$num” -gt 1 ]; then
                echo “$num*$num=$(($num*$num))”
          else
                echo “Wrong insertion !”
          fi
    else
          echo “Wrong insertion !”
    fi
  • compare word
word=a
if  [[ $word == "b" ]]
then
  echo "condition b is true"
elif [[ $word == "a" ]]
then 
  echo "condition a is true" 
else
  echo "condition is false"    
fi

burim/bash/udemy/condition_statement.txt · Last modified: 2020/07/03 22:05 by burim

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki