LINUX shell 腳本語句

LINUX中shell腳本中語句的基本用法

一、if ...then...fi

       if [  條件判斷一 ] && (||) [ 條件判斷二 ]; then                       <==if 是起始,後面可以接若干個判斷式,使用 && 或 || 執行判斷

           elif [ 條件判斷三 ] && (||) [ 條件判斷四 ]; then                 <== 第二段判斷,如果第一段不符合要求就轉到此搜尋條件,執行第二段程序 
                else                                                                            <==當前兩段都不符合時,就執行這段內容 
       fi                                                                                          <== 結束 if then 的條件判斷
       上面的意思是:中括號[] 裏的是條件表達式,如果是複合條件判斷(如若A 及B 則C 之類的邏輯判斷),那麼就需要在兩個中括號之間加&&(and)或| | (or )這樣的邏輯運算符。如果是多重選擇,那麼需要以elif(可選的,需要時才加上)新增另一個條件;如果所有的條件都不適用,則使用else (可選的)執行最後的內容。

如:

#!/bin/bash 
# This program is used to study if then 
# 2013/12/30
echo "Press y to continue" 
read yn 
if [ "$yn" = "y" ] || [ "$yn" = "Y" ]; then        
        echo "script is running..." 

elif [ "$yn" = "" ];  then

        echo "You must input parameters "
else 
        echo "STOP!" 
fi  

二、case ... esac

case  種類方式(string) in                                   <== 開始階段,種類方式可分成兩種類型, 通常使用 $1 這種直接輸入類型 
    種類方式一) 
       程序執行段 
       ;;                    <==種類方式一的結束符號 
    種類方式二) 
       程序執行段 
       ;; 
    *) 
       echo "Usage: { 種類方式一|種類方式二}"   <==列出可以利用的參數值
       exit 1 
esac                      <== case結束處

種類方式(string)的格式主要有兩種: 
·  直接輸入:就是以“執行文件 + string ”的方式執行(/etc/rc.d/init.d  裏的基本設定方式),string可以直接寫成$1(在執行文件後直接加入第一個參數)。 
·  交  互  式:就是由屏幕輸出可能的項,然後讓用戶輸入,通常必須配合read variable,然後string寫成$variable 的格式。

如(交互式):

#!/bin/bash 
# program:      Using case mode 
# 2013/12/30
echo "Press your select one, two, three" 
read number 
case $number in 
  one) 
        echo "your choice is one" 
        ;; 
  two) 
        echo "your choice is two" 
        ;; 
  three) 
        echo "your choice is three" 
        ;; 
  *) 
        echo "Usage {one|two|three}" 
        exit 1 
esac

三、循環語句

1、for (( 條件1; 條件2; 條件3))               ---已經知道運行次數

如:

#!/bin/bash 
# Using for and loop 
# 2013/12/30
declare -i s  #        <==變量聲明 
for (( i=1; i<=100; i=i+1 )) 
do 
        s=s+i 
done 
echo "The count is ==> $s" 

2、for variable in variable1 variable2 .....

如:

#!/bin/bash 
# using for...do ....done 

# 2013/12/30
LIST="a aa aaa aaaa aaaaa"   
for i in $LIST 
do 
        echo $i 
done  

腳本執行結果如下:

a

aa

aaa

aaaa

aaaaa

 

3、while [ condition1 ] && { | | } [ condition2 ] ...             --先判斷條件

如:

#!/bin/bash 
# Using while and loop 
# 2013/12/30 
declare -i i 
declare -i s 
while [ "$i" != "101" ] 
do 
        s=s+i 
        i=i+1 
done 
echo "The count is ==> $s"

4、until [ condition1 ] && { | | } [ condition2 ] ...               --先做後判斷條件

如:

#!/bin/bash 
# Using until and loop 
# 2013/12/30
declare -i i 
declare -i s 
until [ "$i" = "101" ] 
do 
        s=s+i 
        i=i+1 
done 
echo "The count is ==> $s" 

發佈了46 篇原創文章 · 獲贊 30 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章