Linux Shell腳本基礎及練習(文件測試、數值比較、字符串比較、邏輯測試、if語句的結構、for語句、while語句、case語句)

條件測試操作

test命令

測試特定表達式是否成立 當條件成立時 測試語句的返回值爲0 否則爲其他數值

格式一   test 條件表達式

格式二   [ 條件表達式 ]

 

文件測試

[ 操作符 文件或目錄 ]

-e 測試目錄或文件是否存在(Exist)

-d 測試是否爲目錄(Directory)

-f 測試是否問文件(File)

-r 測試當前用戶是否有權限讀取

-w 測試當前用戶是否有權限寫入

-x 測試當前用戶是否有權限執行

 

文件測試

 

整數值比較

[ 整數1 操作符 整數2 ]

-eq 等於(Equal)

-ne 不等於(Not Equal)

-gt 大於(Greater Than)

-lt 小於(Lesser Than)

-le 小於或等於(Lesser or Equal)

-ge 大於或等於(Greater or Equal)

 

數值比較 Linux的Shell數值比較只能比較整數

 

篩選取值

 

字符串比較

格式1   [ 字符串1  = 字符串2 ]    [ 字符串1 != 字符串2]

格式2   [ -z 字符串 ]

= 字符串內容相同

!= 字符串內容不同 !表示相反

-z 字符串內容爲空

 

字符串比較

 

邏輯測試

   格式1   [ 表達式1 ] 操作符 [ 表達式2 ] ...

   格式2   命令1 操作符 命令2 ...

 

 

常用的測試操作符

-a或&& 邏輯與 “而且”的意思

-o或|| 邏輯或 ”或者”的意思

! 邏輯否

 

全真-a才爲真 全假-o才爲假

 

如何測試/opt/backup目錄是否存在

-e /opt/backup

 

查詢當前的活動進程數 並測試是否小於100

[(ps aux | wc -l) -lt 100]

 

如何測試是否已安裝sysstat軟件包

rpm -q 包名

 

if語句的結構

 

單分支結構   if 條件測試操作

                            then 命令序列

                     fi

 

雙分支結構   if 條件測試操作

                            then 命令序列1

                            else 命令序列2

                     fi

 

多分支結構 if 條件測試操作1

                            then 命令序列1

                     elif 條件測試操作2

                            then 命令序列2

                     else

                            命令序列

                     fi

 

雙分支結構 判斷httpd服務是否開啓

 

多分支結構 根據輸入的成績判斷等級

 

for語句的結構

for 變量名 in 取值列表

do

       命令序列

done

 

統計1-100之和

 

網絡連通性測試

 

從IP地址列表文件中取得IP 測試主機的連通性

 

批量創建用戶 用戶名爲stu開頭的字符串 後面是1-50的編號 初始密碼用戶名

 

批量創建用戶 用戶名從文件列表中獲取 初始密碼爲123456

 

while語句的結構

while 條件測試操作

do

      命令序列

done

 

 

統計1-100的和

 

猜價格

 

小結

sh -x顯示腳本執行過程

for、while都能批量添加用戶,兩者有哪些區別

for靠變量取值循環 while靠條件循環

for循環使用的取值列表如何獲得

靠In從文件中取值

如何避免while語句陷入死循環

使用exit結束語句

 

case語句的結構

case 變量值 in

模式1)

      命令序列1

;;

模式2)

      命令序列2

;;

*表示通配)

      默認命令序列

esac

 

對服務進行操作

 

判斷用戶是普通用戶還是超級用戶還是系統用戶 並輸出到相應文件

nfsnobody的ID號是65534

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章