千家信息网

linux shell的关系运算符介绍

发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,这篇文章将为大家详细讲解有关linux shell的关系运算符介绍,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数字比较运算关系运算符只支持数字,不支持字符串,除非
千家信息网最后更新 2025年02月11日linux shell的关系运算符介绍

这篇文章将为大家详细讲解有关linux shell的关系运算符介绍,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

数字比较运算

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:

举例:

#!/bin/basha=10b=20if [ $a -eq $b ]then   echo "$a -eq $b : a 等于 b"else   echo "$a -eq $b: a 不等于 b"fiif [ $a -ne $b ]then   echo "$a -ne $b: a 不等于 b"else   echo "$a -ne $b : a 等于 b"fiif [ $a -gt $b ]then   echo "$a -gt $b: a 大于 b"else   echo "$a -gt $b: a 不大于 b"fiif [ $a -lt $b ]then   echo "$a -lt $b: a 小于 b"else   echo "$a -lt $b: a 不小于 b"fiif [ $a -ge $b ]then   echo "$a -ge $b: a 大于或等于 b"else   echo "$a -ge $b: a 小于 b"fiif [ $a -le $b ]then   echo "$a -le $b: a 小于或等于 b"else   echo "$a -le $b: a 大于 b"fi

运行脚本,输出结果如下:

10 -eq 20: a 不等于 b10 -ne 20: a 不等于 b10 -gt 20: a 不大于 b10 -lt 20: a 小于 b10 -ge 20: a 小于 b10 -le 20: a 小于或等于 b

相关文章视频教程推荐:linux视频教程

布尔运算符

举例:

    #!/bin/bash    a=10    b=20    if [ $a != $b ]    then       echo "$a != $b : a 不等于 b"    else       echo "$a != $b: a 等于 b"    fi    if [ $a -lt 100 -a $b -gt 15 ]    then       echo "$a 小于 100 且 $b 大于 15 : 返回 true"    else       echo "$a 小于 100 且 $b 大于 15 : 返回 false"    fi    if [ $a -lt 100 -o $b -gt 100 ]    then       echo "$a 小于 100 或 $b 大于 100 : 返回 true"    else       echo "$a 小于 100 或 $b 大于 100 : 返回 false"    fi    if [ $a -lt 5 -o $b -gt 100 ]    then       echo "$a 小于 5 或 $b 大于 100 : 返回 true"    else       echo "$a 小于 5 或 $b 大于 100 : 返回 false"    fi

脚本运行:

10 != 20 : a 不等于 b10 小于 100 且 20 大于 15 : 返回 true10 小于 100 或 20 大于 100 : 返回 true10 小于 5 或 20 大于 100 : 返回 false

逻辑运算符

以下介绍 Shell 的逻辑运算符,假定变量 a 为 10,变量 b 为 20:

实例:

#!/bin/basha=10b=20if [[ $a -lt 100 && $b -gt 100 ]]then   echo "返回 true"else   echo "返回 false"fiif [[ $a -lt 100 || $b -gt 100 ]]then   echo "返回 true"else   echo "返回 false"fi

运行结果:

返回 false返回 true

字符串运算符

下表列出了常用的字符串运算符,假定变量 a 为 "abc",变量 b 为 "efg":

实例:

#!/bin/basha="abc"b="efg"if [ $a = $b ]then   echo "$a = $b : a 等于 b"else   echo "$a = $b: a 不等于 b"fiif [ $a != $b ]then   echo "$a != $b : a 不等于 b"else   echo "$a != $b: a 等于 b"fiif [ -z $a ]then   echo "-z $a : 字符串长度为 0"else   echo "-z $a : 字符串长度不为 0"fiif [ -n "$a" ]then   echo "-n $a : 字符串长度不为 0"else   echo "-n $a : 字符串长度为 0"fiif [ $a ]then   echo "$a : 字符串不为空"else   echo "$a : 字符串为空"fi

运行结果:

abc = efg: a 不等于 babc != efg : a 不等于 b-z abc : 字符串长度不为 0-n abc : 字符串长度不为 0abc : 字符串不为空

关于linux shell的关系运算符介绍就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0