Shell編程之控制結構if__編程

來源:互聯網
上載者:User

所有的程式設計語言中都有控制結構,Shell編程也不例外。其中if結構是最常用的分支控制結構。

Linux shell編程中常用的if語句有:if.....then...fi,if....then....else....fi,if....then...elif......

if....then.....else...語句非常簡單,文法如下:

if   運算式

then   命令表

[else  命令表]

fi

其中運算式是判斷條件,命令表是條件成立時執行的shell命令,fi代表整個if語句的結束,必須得有。

下面看一個例子:

#!/bin/bash#filename:if.sh#author:gybread numif [ $num -lt 10 ];then        echo "$num<10"else        echo "$num>10"fi

增加可執行許可權

root@ubuntu:~# chmod +x if.sh

執行

root@ubuntu:~# ./if.sh 
2
2<10
root@ubuntu:~# ./if.sh 
24
24>10
代碼中[ $num -lt 10 ] 是test命令的另一種寫法,需要注意的是‘[‘’之後和‘]’之前必須有一個空格。

if....then....elif.....是一個多分支結構,如果程式需要的話elif可以無限制的寫下去(其中elif代表else if的縮寫)。

例子:

#!/bin/sh#filename:elif.sh#author:gybecho "input score:"read scoreif [ $score -ge 0 -a $score -lt 60 ];then        echo "E"elif [ $score -ge 60 -a $score -lt 70 ];then        echo "D"elif [ $score -ge 70 -a $score -lt 80 ];then        echo "C"elif [ $score -ge 80 -a $score -lt 90 ];then        echo "B"elif [ $score -ge 90 -a $score -le 100 ];then        echo "A"else        echo "input error"fi
代碼中判斷條件中 -a代表邏輯與,只有當-a前後兩個條件同時成立時,整個運算式才為真。

添加可執行許可權:

root@ubuntu:~# chmod +x elif.sh 

執行

root@ubuntu:~# ./elif.sh

input score:
34
E
root@ubuntu:~# ./elif.sh 
input score:
67
D
root@ubuntu:~# ./elif.sh 
input score:
78
C
root@ubuntu:~# ./elif.sh 
input score:
89
B

root@ubuntu:~# ./elif.sh 
input score:
99
A



if語句是可以嵌套的,並且可以多重嵌套

例子:

#!/bin/bash#filename:ifnest.sh#author:gybread numif [ $num -lt 100 ];then        echo "$num<100"        if [ $num -lt 50 ];then                echo "$num<50"                if [ $num -lt 30 ];then                        echo "$num<30"                fi        fifi

添加可執行許可權

root@ubuntu:~# chmod +x ifnest.sh

執行

root@ubuntu:~# ./ifnest.sh 
23
23<100
23<50
23<30
root@ubuntu:~# ./ifnest.sh 
45
45<100
45<50


End.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.