Shell基本運算子之布林運算子 邏輯運算子

2022-09-05 23:30:25 字數 2033 閱讀 7424

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結果為假"

fififi

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結果為假"

fififi

布林運算子

a,b 1,2 有乙個為假即為假 print a 1 and b 2 true and true true print a 1 and b 2 true and false false 有乙個為真即為真 print a 1 or b 2 true or true true print a 1 or ...

Shell筆記(運算子 關係運算子 布林運算子)

運算 語法 運 算式 表示式 表示式 表示式 expr a b 加 expr a b 減 expr a b 乘 expr a b 除 expr a b 求餘 a b 將b的值賦給a a b 判斷a是否等於b,返回結果為布林值 a b 判斷a是否不等於b,返回結果為布林值 注意 shell的字元型數值...

026 布林運算子

布林運算子有哪些?邏輯與 兩邊都是true,結果是true 邏輯或 一邊是true,結果就是true 邏輯非 取反 true false 邏輯異或 兩邊只要是不一致就是true 短路與 用法和 一樣。短路或 用法和 一樣 和 的區別?具有短路效果。如果左邊結果是false,則右邊不執行。是無論左邊是...