shell腳本(8)-流程控制if

1、單if語法vim

一、語法格式:bash

if [ condition ] #condition值爲 then commands fi

二、舉例:spa

[root@localhost test20210725]# vim document.sh #!/usr/bin/bash #假如沒有/tmp/abc這個文件夾,就建立一個 if [ ! -d /tmp/abc ] then mkdir -pv /tmp/abc
  echo "文件建立成功"
fi

查看運行結果:code

[root@localhost test20210725]# sh document.sh mkdir: created directory ‘/tmp/abc’ 文件建立成

 

2、if...else語法blog

一、語法格式:數學

if [ condition ] #condition值爲 then commands1 else commands2 fi

二、舉例:it

[root@localhost test20210725]# vim document2.sh #!/usr/bin/bash #假如沒有/tmp/abc這個文件夾,就建立一個,不然打印信息 if [ ! -d /tmp/abc ] then mkdir -pv /tmp/abc echo "文件建立成"
else echo "文件已經存在,再也不建立" fi

查看運行結果:io

[root@localhost test20210725]# sh document2.sh mkdir: created directory ‘/tmp/abc’ 文件建立成 [root@localhost test20210725]# sh document2.sh 文件已經存在,再也不建立

 

3、if...elif...else語法class

一、語法格式:test

if [ condition1 ] #condition值爲 then commands1
elif [ condition2 ]
then
commands2
......
else commandsx fi

二、舉例說明:

[root@localhost test20210725]# vim number3.sh #!/usr/bin/bash #腳本傳遞兩個數字參數並比較 if [ $1 -eq $2 ] then echo "$1 = $2" elif [ $1 -gt $2 ] then echo "$1 > $2"
else echo "$1 < $2"
fi

查看運行結果:

[root@localhost test20210725]# sh number3.sh 1 1
1 = 1 [root@localhost test20210725]# sh number3.sh 2 1
2 > 1 [root@localhost test20210725]# sh number3.sh 1 3
1 < 3

 

4、if高級語法

一、使用(())植入數學表達式作運算,舉例:

[root@localhost test20210725]# vim if_avg.sh #!/usr/bin/bashif (( 100%3+1>1 )) then echo "yes"
else echo "no" fi

查看運行結果:

[root@localhost test20210725]# sh if_avg.sh 
yes

二、使用[[]]能夠在條件中使用通配符,舉例:

[root@localhost test20210725]# vim if_avg2.sh #!/usr/bin/bash for i in r1 rr2 cc rr3 do
    if [[ $i == r* ]];then echo $i fi done

查看運行結果:

[root@localhost test20210725]# sh if_avg2.sh 
r1
rr2
rr3
相關文章
相關標籤/搜索