1. 程式人生 > >Shell流程控制語句

Shell流程控制語句

在Linux Shell程式設計中,if、for、while、case等條件流程控制語句用的非常多,把這些學好,對提升指令碼的功力有非常大的幫助。下面將逐個來講解具體的用法:

If條件判斷語句

If  (表示式)  #if ( Variable in Array )

語句1

else

語句2

fi

案例一,測試數字大小

#!/bin/sh
NUM=100
if (( $NUM > 4 )) ;then 
echo “this num is $NUM greater  4 !”
fi

案例二,測試目錄是否存在,不存在則新建(注意,中括號之間必須要空格)

#!/bin/sh
#judge dir exist
if  [  !  -d  /data/20140515 ];then 
    mkdir  -p /data/20140515
else
	echo  “This DIR is exist,Please exit …..”
fi

邏輯運算子解析:

-f  判斷檔案是否存在 eg: if [ -f filename ]

-d  判斷目錄是否存在 eg: if [ -d dir     ]

-eq 等於 應用於:整型比較

-ne 不等於 應用於:整型比較

-lt 小於 應用於:整型比較

-gt 大於 應用於:整型比較

-le 小於或等於 應用於:整型比較

-ge 大於或等於 應用於:整型比較

-a 雙方都成立(and) 邏輯表示式 –a 邏輯表示式

-o 單方成立(or) 邏輯表示式 –o 邏輯表示式

-z 空字串

案例三,多個條件測試判斷

#!/bin/sh
scores=80;
if  [[ $scores -gt 85 ]]; then
    echo "very good!";
elif [[ $scores -gt 75 ]]; then
    echo "good!";
elif [[ $scores -gt 60 ]]; then
    echo "pass!";
else
    echo "no pass!";
fi;

迴圈語句for

For 變數 in 字串

do

語句1

done

案例一,列印seq多個數

#!/bin/sh
for   i   in  `seq 15`
do
	echo  “NUM is $i”
done

案例二,找到相關log,然後批量打包

#!/bin/sh
for   i   in  `find /var/log  -name “*.log”`
do
	tar –czf  2014log.tgz $i
done

迴圈語句while

while 條件語句

do

       語句1

done

案例一,while條件判斷數字

#!/bin/sh
i=1;
while [[ $i -lt 10 ]];do
    echo $i;
    ((i++));
done;

案例二,while逐行讀取某個檔案

#!/bin/sh
while read line
do
    echo  $line;
done  < /etc/hosts

Until迴圈語句

until 條件

do

       action

done

直到滿足條件,才退出。否則執行action。

案例一,條件判斷數字

#!/bin/sh
a=10;
until [[ $a -lt 0 ]];do
    echo $a;
    ((a--));
done;

Case選擇語句

case $arg in  

    pattern1)

    語句1

    ;;  

    pattern2)

    語句2

    ;;  

    *)

    語句3

    ;;  

esac

案例一,建立選擇引數指令碼

#!/bin/sh
case $1 in

        monitor_log)
        monitor_log
        ;;
        archive_log)
        archive_log
        ;;

        *          )
        echo "Usage:{$0 monitor_log | archive_log |help }"
        ;;
esac

select選擇語句

#!/bin/sh
PS3="What you like most of the open source system?"
    select i in CentOS RedHat Ubuntu 
do
    echo "Your Select System: "$i
done

相關推薦

shell 流程控制語句

pan oot 示例 strong 更多 -o 一個 post 文件 一、if 語法格式:if test -d $arg then ... else ... fi 變量測試語句可以用 [ ] 簡化。例:test -d $arg 等價於 [ -d $arg ]。( 註意:"空

shell流程控制語句 case

不常用 多個 流程 shell流程控制 ase 讀取 ext ffffff 提示符 linux的shell前前後後學了好幾遍了奈何記性不好,總是忘了,追主要的原因可能是不常用的原因吧!case開頭 esac結尾下面是結果輸入法不對 輸入的符號就不對,剛開始總錯,後來切換了

學習筆記 shell流程控制語句 if 和 for

if條件測試語句 使用單分支的if條件語句來判斷/media/cdrom檔案是否存在,若存在就結束條件判斷和整個Shell指令碼,反之則去建立這個目錄: [[email protected] ~]# vim 1.sh #!/bin/bash DIR="

Shell流程控制語句

在Linux Shell程式設計中,if、for、while、case等條件流程控制語句用的非常多,把這些學好,對提升指令碼的功力有非常大的幫助。下面將逐個來講解具體的用法: If條件判斷語句 I

1 Linux shell 編程(七):流程控制語句

shell if else Linux 流程控制語句 在shell中如果在終端輸入多個命令,如果以&分隔則將命令放入後臺執行,如果以;分隔,則表示一個命令集合。shell允許使用邏輯操作符&&和||來作為命令分隔符,他們分別時AND和OR. && 如果前

shell腳本(二)--if流程控制語句和for循環語句的使用

系統/運維 Linux shell if語句 for循環語句 理論部分:1、在簡單的腳本中各條語句按順序執行,從而實現自動化的管理,順序單一執行太過機械化,不夠“智能”,難以實現更加靈活的系統任務。例如:批量安裝軟件包100臺機器 50臺已安裝 50臺未安裝2、shell環境根據$?來判斷

shell指令碼:流程控制語句

if/else 命令連線符: 單個分支if條件語句 if[ 條件判斷 ] then <程式> fi 或者 if[ 條件判斷 ]; then <程式> fi 多分支 if[ 條件判斷 ]; then <程式> el

Shell基礎知識4:流程控制語句

1 if 條件測試語句 if條件測試語句可以讓指令碼根據實際情況自動執行相應的命令。 1.1 if語句分類 1、單分支結構。 2、雙分支結構。 3、多分支結構。 1.2 單分支結構 if 條件語句的單分支結構由 if、then、fi 關鍵片語成。 如果

linux Vim編輯器、shell指令碼、流程控制語句和計劃任務

本章主要講解shell指令碼,vim編輯器 1. 強制儲存退出 wq! 2. 查詢主機名稱 hostname 3. 在vim中常用的命令 dd刪除游標所在行;5dd刪除自游標所在行開始往下數五行;yy複製游標所在行;5yy複製自游標所在行開始往下數5行內容;n顯示搜尋命令定位到下一個字串

Linux之shell流程控制語句

一、if-else分支結構 if語法格式: if 條件 then 邏輯塊(通常都是些命令) fi 寫成一行:適用於終端寫法 If 條件; then 邏輯 ; fi   If else語法格式: if 條件 then 邏輯塊(通常都是些命令)

[轉]linux shell 流程控制(條件if,迴圈【for,while】,選擇【case】語句例項

linux shell有一套自己的流程控制語句,其中包括條件語句(if),迴圈語句(for,while),選擇語句(case)。下面我將通過例子介紹下,各個語句使用方法。 一、shell條件語句(if用法) if語句結構[if/then/elif/else/fi] if 條件測試語句

shell--條件測試語句流程控制語句的使用

1. test 判斷   test $num1 == $num2    #判斷是否相等   echo $?   test $num != $num2   test $str                              #判斷字串是否非空,非空結果為0   te

shell流程控制語句

linux shell有一套自己的流程控制語句,其中包括條件語句(if),迴圈語句(for,while),選擇語句(case)。下面我將通過例子介紹下,各個語句使用方法。 一、shell條件語句(if用法) if語句結構[if/then/elif/else/fi]

linux中的shell script 的流程控制語句

一 :條件判斷: if [ 判斷條件 ];then    當條件成立時執行的語句,其實跟程式語言裡的差不多! fi 或者多重條件判斷 if [ 判斷條件1 ];then 滿足1,則執行這裡的指令 elif [ 判斷條件2 ];then . . . . else   當上面所

Oracle流程控制語句

控制 space reverse logs 2.3 1.2 流程控制語句 case ora 1.選擇語句 1.1 IF...THEN...END IF語句 DECLARE MY_AGE INT; IF MY_AGE IS NULL THEN DBMS

java基礎:流程控制語句(選擇結構if語句)

這樣的 執行 錯誤數據 一點 選擇 邏輯運算符 月份 等級 pri (1)順序結構 從上往下,依次執行 Demo:class ShunXuJieGouDemo { public static void main(String[] args) { System.o

shell--8、Shell 流程控制

shell 流程控制和Java、PHP等語言不一樣,sh的流程控制不可為空,如(以下為PHP流程控制寫法):<?php if (isset($_GET["q"])) { search(q); } else { // 不做任何事情 }在sh/bash裏可不能這麽寫,如果else分支沒有語句

流程控制語句

基礎 num cor 支持 流程 編寫 ons 執行 結果 一、條件語句 條件語句就是指通過判斷得到的結果,來決定是執行還是跳過指定的代碼塊。 1、if 語句 if 語句是條件判斷語句,也是最基本的流程控制語句。 例如: var num = 5;if(num < 10

js流程控制語句

var if else script 流程控制 寫法 break def 嵌套 default 條件語句 條件語句通過判斷得到的結果,來決定是執?還是跳過指定的代碼塊 JavaScript 提供了兩種條件語句: if else switch case if 語句 代碼實現