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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM