Shell基本运算符
=============================摘自与菜鸟教程===============================
1、布尔运算符
! |
非运算,表达式为true则返回false,否则返回true; |
[ ! false ] |
-o |
或运算,有一个表达式为true,则返回true; |
[ $1 -lt 20 -o $2 -gt 10 ] |
-a |
与运算,两个表达式都为true才返回true |
[ $1 -lt 20 -a $2 -gt 10 ] |
示例:
#!/bin/bash ###本脚本主要写于20190905 ###本脚本主要用于逻辑运算符 if [ ! $1 ] then echo "==============该脚本运行格式: sh $0 变量1 变量2" break else if [ ! $2 ] then echo "==============该脚本运行格式: sh $0 变量1 变量2" break else echo "请输入你想要输入的数据:" read file ####获取输入的变量无法判断输入的类型,导致输入字符串类型会导致脚本报错 ###非运算 if [ $1 != $2 ] then echo "变量a不等于变量b" else echo "变量a等于变量b" fi ###与运算 if [ $1 -lt $file -a $2 -gt $file ] then echo "变量a小于$file且变量b大于$file结果为真" else echo "变量a小于$file且变量b大于$file结果为假" fi ###或运算 if [ $1 -lt $file -o $2 -gt $file ] then echo "变量a小于$file或者变量b大于$file结果为真" else echo "变量a小于$file或者变量b大于$file结果为假" fi fi fi
2、逻辑运算符
运算符 |
说明 |
举例 |
&& |
逻辑的and |
[ $a -lt 100 && $b -gt 100 ] |
|| |
逻辑的or |
[ $a -lt 100 || $b -gt 100 ] |
示例:
#!/bin/bash ###本脚本写于20190905 ###主要用于练习逻辑运算符 if [ ! $1 ] then echo "==============该脚本运行格式: sh $0 变量1 变量2" break else if [ ! $2 ] then echo "==============该脚本运行格式: sh $0 变量1 变量2" break else echo "请输入你想要输入的数据:" read file ####获取输入的变量无法判断输入的类型,导致输入字符串类型会导致脚本报错 ###逻辑的and if [[ $1 -lt $file && $2 -gt $file ]] then echo "$1小于$file且$2大于$file结果为真" else echo "$1小于$file且$2大于$file结果为假" fi ###逻辑的or if [[ $1 -lt $file || $2 -gt $file ]] then echo "$1小于$file或者$2大于$file结果为真" else echo "$1小于$file或者$2大于$file结果为假" fi fi fi