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,則右邊不執行。是無論左邊是...