SHELL編程-續

shell腳本能夠看作是命令的堆砌,經過結合命令流程控制機制實現。python

解釋器 #!/bin/bash或/usr/bin/python 也稱爲shebangshell

通常腳本須要賦予執行權限,也能夠使用bash xxx.sh 來事先聲明express


shell的條件判斷能夠分爲bash

1:整數測試ide

2:字符串測試測試

3:文件測試spa


條件測試表達式字符串

[ expression ] #注意方括號與表達式之間有空格string

` expression ` #也有這種格式的測試格式it

test expression


整數比較

-eq:兩個整數是否相等 #equal

-ne:兩個整數是否不等 #not equal

-gt:前一個數是否大於後一個數 

-lt:前一個數是否小於後一個數

-ge:前一個數是否大於等於後一個數

-lt:前一個數是否小於等於後一個數


文件測試:

-e /path/to/file :測試文件是否存在

例如:[ -e /etc/inittab ] [ ! -e /etc/inittab ]

-d /path/to/file :測試是否爲目錄

-f /path/to/file :測試是否爲普通文件

-r /path/to/file 測試文件對當前用戶是否有讀權限

-w /path/to/file 測試文件對當前用戶是否有寫權限

-x /path/to/file 測試文件對當前用戶是否有執行權限


字符測試

== :測試字符串string1是否與字符串string2相同

!= :測試字符串string1是否與字符串string2不相同

>

<

-n: 測試字符串是否爲空

-z: 測試字符串是否爲非空


命令間邏輯

邏輯與:&&

邏輯非:!

邏輯或:||


條件判斷,控制結構

if 判斷條件;then     #單分支

    statement1

    statement2

    ...

fi


if 判斷條件;then

    statement

    ...

else

    statement

    ...

fi


算數運算

算數運算表達式:

1:let 算術運算表達式  例:let c=$A+$B

2:$[算術運算表達式]   例:C=$[$A+$B]

3:$((算數運算表達式))  例:C=$(($A+$B))

4:expr 算數運算表達式 #表達式中各操做數和運算符之間要有空格,並且要使用命令引用

例:C=`expr $A + $B`


在腳本中使用exit 能夠退出當前shell

exit # 自定義返回狀態值

#若是腳本沒有定義狀態退出碼,最後一條命令的退出碼即爲腳本退出碼


多分支if語句

if 判斷條件;then

    statement

    ...

elif 判斷條件2;then

    ...

    ...

else

    ...

fi


測試腳本

bash -n xxx.sh #簡單檢查腳本語法錯誤。

bash -x xxx.sh #可查看每一個語句的執行結果,來檢查錯誤。

相關文章
相關標籤/搜索