Shell 入门教程(十九):逻辑运算符的使用

前端之家收集整理的这篇文章主要介绍了Shell 入门教程(十九):逻辑运算符的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

逻辑运算符有三个,分别是:非运算、或运算、与运算。

  • !:非运算符。
  • -o:或运算符。
  • -a:与运算符。

因为 Shell 中并没有布尔类型,所以非运算符主要是对表达式取反。

#!/bin/bash
# author:陈树义
# site:www.chenshuyi.com
a=10
b=20
# 非运算
if !(( a == b ))
then
   echo "a is not equal to b" 
fi
# 或运算
if [ $a -lt 100 -o $b -gt 100 ]
then
   echo "a < 100 or b > 100" 
fi
# 与运算
if [ $a -lt 100 -a $b -gt 15 ]
then
   echo "a < 100 and b > 15" 
fi

值得注意的是,因为 Shell 语言并没有布尔型。所以如果你尝试在非运算符后面跟上一个「布尔值」,那么你会得到错误的结果。

#!/bin/bash
# author:陈树义
# site:http://www.shuyi.me

result=true
if [ !$result ]
then 
  echo "Hello"
fi

按照我们的理解,上面的例子应该不会打印出 Hello 字符,但实际结果是会打印。这是因为 Shell 中根本就没有布尔类型的值,所以 if 表达式中的字符串会被当成是一个字符串,字符串肯定就是 true 了,所以就会打印 Hello。其实如果我们随便输入一串字符,结果还是会输出 Hello。

原文链接:/shell/996129.html

猜你在找的Shell相关文章