if條件句及例子

2021-09-20 20:27:19 字數 2172 閱讀 9713

if條件語法說明:

單分支結構:

if [條件]

then

指令fi

或if [條件];then

fi特殊寫法:if[ -f "$file1" ];then echo 1;fi相當於[ -f "file1" ] && echo 1

下面是乙個比較大小的單分支指令碼

#!/bin/bash

read -p "please input two number like a b:" a b

if [ $a -eq $b ]

then

echo "$a = $b"

fiif [ $a -lt $b ]

then

echo "$a < $b"

fiif [ $a -gt $b ];then

echo "$a > $b"

fi下面是效果圖

[root@zhouyu shell]# sh 04if.sh 

please input two number like a b:1 2

1 < 2

下面我們寫乙個小指令碼,這個指令碼是用來看看檔案存在沒有,不存在我們就給它建立檔案,如果有就輸出檔案存在,如圖:

#!/bin/bash

filepath="/server/shell"

[ -e $filepath/if3.sh ] && echo "the $filepath file is exits" ||

}下面是效果圖

[root@zhouyu shell]# sh if01.sh 

[root@zhouyu shell]# sh if01.sh 

the /server/shell file is exits

如果你的執行出錯了 你可以用下面的命令看看這個指令碼的執行過程

[root@zhouyu shell]# sh -x if01.sh 

+ filepath=/server/shell

+ '[' -e /server/shell/if3.sh ']'

+ echo 'the /server/shell file is exits'

the /server/shell file is exits

[root@zhouyu shell]# 

思考:判斷系統內在大小,低於100m就進行郵件報警

#!/bin/bash

ram=`free -m| grep mem |awk ''`

[[ $ram < 100 ]] && echo "the ram is not content"

上面是我寫的,效果是:

[root@zhouyu shell]# sh if02.sh 

[root@zhouyu shell]# 

因為記憶體大於100m就不會報錯

下面看看老師的寫法

#!/bin/bash

free=`free -m|awk 'buffers\// '` #定義乙個變數 列印最後一列

if [ $free -lt 100 ] #如果記憶體大於100m 則輸出以下內容

then

echo "the current memory is $free"

echo "the current memory is $free"|mail -s "chars" 123456#qq.com

fi下面是雙分支

if [條件]

then

指令集else

指令集fi

特殊寫法:if [ -f "$file1" ];then echo 1;else echo 0;fi相當於:[ -f "$file1" ] && echo 1 || echo 0

下面是多分支

if [條件]

then

指令elif [條件]

then

指令else

fi下面是例子,寫乙個比較大小的

#!/bin/bash

read -p "please input two number:" a b

if [ $a -lt $b ];then

echo "$a < $b"

elif [ $a -eq $b ]

then

echo "$a = $b"

else

echo "$a > $b"

fi

if條件句程式設計python Python 條件語句

python 條件語句 python條件語句是通過一條或多條語句的執行結果 true或者false 來決定執行的 塊。可以通過下圖來簡單了解條件語句的執行過程 python程式語言指定任何非0和非空 null 值為true,0 或者 null為false。python 程式設計中 if 語句用於控制...

多條件查詢例子

alter procedure dbo sp tgongxu selbymore gx name nvarchar 50 null,gx alias nvarchar 50 null,gx account mode nvarchar 50 null,gx istime int null,gx isk...

mysql的條件查詢以及例子

案例1 查詢工資 12000的員工資訊select from employees where salary 12000 案例2 查詢部門編號不等於90號的員工名和部門編號select last name,department id from employees where department id...