📜  bash 括号运算符 (1)

📅  最后修改于: 2023-12-03 14:59:29.640000             🧑  作者: Mango

Bash 括号运算符

Bash 括号运算符提供了一些方便的功能和选项,使得在 Bash 脚本中进行数值比较、字符串比较以及布尔运算更加简单。

数值比较

在 Bash 中,可以使用括号运算符进行数值比较。括号内可以使用以下运算符:

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

以下是一个使用括号运算符比较两个数值大小的示例:

#!/bin/bash

a=10
b=20

if [ $a -lt $b ]
then
   echo "$a is less than $b"
else
   echo "$a is greater than or equal to $b"
fi

输出结果为:

10 is less than 20
字符串比较

在 Bash 中,也可以使用括号运算符进行字符串比较。括号内可以使用以下运算符:

  • = 等于
  • != 不等于
  • < 小于
  • > 大于
  • -z 空字符串

以下是一个使用括号运算符比较两个字符串大小的示例:

#!/bin/bash

str1="hello"
str2="world"

if [ $str1 = $str2 ]
then
   echo "Both strings are equal"
else
   echo "Strings are not equal"
fi

输出结果为:

Strings are not equal
布尔运算

在 Bash 中,也可以使用括号运算符进行布尔运算。括号内可以使用以下运算符:

  • !
  • -o
  • -a

以下是一个使用括号运算符进行布尔运算的示例:

#!/bin/bash

a=10
b=20

if [ $a != $b -a $a -lt $b ]
then
   echo "$a is less than $b and not equal to $b"
else
   echo "$a is equal to or greater than $b"
fi

输出结果为:

10 is less than 20 and not equal to 20
小结

Bash 括号运算符提供了一些方便的功能和选项,可以使在 Bash 脚本中进行数值比较、字符串比较以及布尔运算更加方便。在使用括号运算符时,需要注意运算符和变量之间的空格。在进行数值比较和布尔运算时,需要使用 -lt-le-gt-ge-eq-ne-o-a 等运算符;在进行字符串比较时,需要使用 =!=<>-z 等运算符。