Shell编程-关系运算符

时间:2020-02-23 14:45:09  来源:igfitidea点击:

在本教程中,我们将学习Shell编程中的关系运算符。

关系运算符可用于数字值和数字字符串。

在本教程中,我们将讨论以下关系运算符。

  • 等于-eq
  • 不等于-ne
  • 大于-gt
  • 小于-lt
  • 大于或者等于-ge
  • 小于或者等于-le

注意!在本教程中,我们将使用if else语句。

等于-eq

在下面的示例中,我们将检查两个数字是否相等。

#!/bin/sh

# take two numbers from the user
echo "Enter two numbers: "
read a b

# check
if [ $a -eq $b ]
then
  echo "Numbers are equal."
else
  echo "Not equals."
fi

别忘了在[之后和]之间给空格,例如[$a -eq $b]

$sh equal.sh 
Enter two numbers: 
10 20
Not equals.

$sh equal.sh 
Enter two numbers: 
100 100
Numbers are equal.

我们也可以使用[$a == $b]

不等于-nq

在下面的示例中,我们将检查两个数字是否相等。

#!/bin/sh

# take two numbers from the user
echo "Enter two numbers: "
read a b

# check
if [ $a -ne $b ]
then
  echo "Numbers are not equal."
else
  echo "Numbers are equal."
fi
$sh notequal.sh 
Enter two numbers: 
10 20
Numbers are not equal.

$sh notequal.sh 
Enter two numbers: 
10 10
Numbers are equal.

我们也可以使用[$a!= $b]

大于-gt

在以下示例中,我们将检查输入的数字是否大于10。

#!/bin/sh

# take a numbers from the user
echo "Enter a number: "
read a

# check
if [ $a -gt 10 ]
then
  echo "Greater than 10."
else
  echo "Not greater than 10."
fi
$sh greaterthan.sh 
Enter two numbers: 
9
Not greater than 10.

$sh greaterthan.sh 
Enter two numbers: 
11
Greater than 10.

小于-lt

在以下示例中,我们将检查输入的数字是否小于10。

#!/bin/sh

# take a numbers from the user
echo "Enter a number: "
read a

# check
if [ $a -lt 10 ]
then
  echo "Less than 10."
else
  echo "Not less than 10."
fi
$sh lessthan.sh 
Enter a number: 
10
Not less than 10.

$sh lessthan.sh 
Enter a number: 
9
Less than 10.

大于或者等于-ge

在下面的示例中,我们将检查输入的数字是否大于或者等于10。

#!/bin/sh

# take a numbers from the user
echo "Enter a number: "
read a

# check
if [ $a -ge 10 ]
then
  echo "Greater than or equal to 10."
else
  echo "Less than 10."
fi
$sh greaterthan-or-equalto.sh 
Enter a number: 
10
Greater than or equal to 10.

$sh greaterthan-or-equalto.sh 
Enter a number: 
9
Less than 10.

小于或者等于-le

在下面的示例中,我们将检查输入的数字是否小于或者等于10。

#!/bin/sh

# take a numbers from the user
echo "Enter a number: "
read a

# check
if [ $a -le 10 ]
then
  echo "Less than or equal to 10."
else
  echo "Greater than 10."
fi
$sh lessthan-or-equalto.sh 
Enter a number: 
10
Less than or equal to 10.

$sh lessthan-or-equalto.sh 
Enter a number: 
12
Greater than 10.