zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    JSON序列化选项
    JOSN的stringify()和parse()方法
    html5增强元素--续
    html5页面增强元素
    js继承模式
    js常用设计模式
    js跨浏览器事件处理
    前端兴趣浓厚,后端提不起来兴趣
    padding的讲究
    margin的讲究
  • 原文地址:https://www.cnblogs.com/tengjiang/p/11466125.html
Copyright © 2011-2022 走看看