Shell基本运算符之布尔运算符、逻辑运算符

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

  

猜你喜欢

转载自www.cnblogs.com/tengjiang/p/11466125.html