逻辑判断-if语句/文件目录属性判断/case判断
邏輯判斷IF
-gt :大于
-lt :小于
-eq :等于
-ne :不等于
-ge :大于或等于
-le :小于或等于
格式1:
if 條件 ;then 語(yǔ)句; fi
a=5 if [ $a -gt 3 ]; then echo ok; fi; //一行表示出來(lái),注意條件中間都要有空格,有空格;分號(hào)用來(lái)隔開;或者
a=5 if [ $a -gt 3 ] thenecho ok fi 意思:定義a=5,判斷a大于3的時(shí)候,就輸出ok;格式2:
if 條件 ;then 語(yǔ)句1 ; else 語(yǔ)句2;fi
語(yǔ)句1為滿足條件的語(yǔ)句,語(yǔ)句2為不滿足條件的語(yǔ)句;
或者
#!/bin/bash a=1 if [ $a -gt 3 ] thenecho ok elseecho nook fi格式3:
if 條件1;then 語(yǔ)句1;elif 條件2;then 語(yǔ)句2;else 語(yǔ)句3;fi
當(dāng)條件1不滿足時(shí),就行條件2判斷,條件2不滿足就執(zhí)行語(yǔ)句3;
或
#!/bin/bash a=2 if [ $a -lt 1 ] thenecho "a<1" elif [ $a -lt 3 ] thenecho "a>1 && a<3" elseecho "a>3" fi變量與變量判斷:
判斷變量a與b哪個(gè)比較大
a=1 b=2 if [ $a -lt $b ];then echo "a<b";else echo "a>b";fi; 輸出:a<b多條件判斷:
&&:表示and,并且
|| :表示or,或者
文件目錄屬性判斷
[ -f file ]:判斷是否是普通文件,且存在
[ -d file ]:判斷是否是目錄文件夾,且存在
[ -e file ]:判斷文件或目錄是否存在
[ -r file ]:判斷文件是否可讀,判斷r
[ -w file ]:判斷文件是否可寫,判斷w
[ -x file ]:判斷文件是否可執(zhí)行,判斷x
特殊用法
if [ -z "$a" ]:判斷變量a的值為空會(huì)怎么樣;
if [ -n "$a" ]:當(dāng)變量a的值不為空會(huì)怎么樣;
if grep -q '123' 1.txt:表示1.txt中含有123會(huì)這么樣;
if [ ! -e file ]:表示文件不存在會(huì)怎么樣;
if (($a<1)):等同于if [ $a -lt 1]這個(gè)判斷,[]方括號(hào)中不能使用<,>,==,!=,>=,<=這些符號(hào);
case判斷
格式:
case 變量名 in值1)語(yǔ)句1;;值2)語(yǔ)句2;;*)語(yǔ)句N;; esac 注意:最后一個(gè)值為*,表示不匹配上面所有的值,就執(zhí)行語(yǔ)句N;舉例:
#!/bin/bash read -p "Please input a number:" n #請(qǐng)輸入一個(gè)數(shù)字,賦予變量n if [ -z "$n" ] thenecho "please input a number."exit 1 fi #判斷輸入的值是否為空n1=`echo $n|sed 's/[0-9]//g'` if [ -n "$n1" ] thenecho "please inputa number."exit 1 fi #判斷輸入的是否為數(shù)字if [ $n -lt 60 ] && [ $n -ge 0 ] thentag=1 elif [ $n -ge 60 ] && [ $n -lt 80 ] thentag=2 elif [ $n -ge 80 ] && [ $n -lt 90 ] thentag=3 elif [ $n -ge 90 ] && [ $n -le 100 ] thentag=4 elsetag=0 fi #判斷分?jǐn)?shù),賦予tag檔次,0為其他,1為不及格,2為及格,3為良好,4為優(yōu)秀case $tag in1)echo "not ok,bu-ji-ge";;2)echo "ok,ji-ge";;3)echo "ook,liang-hao";;4)echo "oook,you-xiu";;*)echo "the number range is 0-100";; esac #esac判斷并輸出結(jié)果轉(zhuǎn)載于:https://blog.51cto.com/shuzonglu/2105164
總結(jié)
以上是生活随笔為你收集整理的逻辑判断-if语句/文件目录属性判断/case判断的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 系统调用的实现(与errno的设置)
- 下一篇: Java 8 CompletableFu