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