第七章 Shell指令碼應用(二)

2021-10-10 06:05:41 字數 2056 閱讀 2004

條件測試操作

1.test命令

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

2.檔案測試

常用的測試操作符

-d:測試是否為目錄(directory)

-e:測試目錄或檔案是否存在(exist)

-f:測試是否為檔案(file)

-r:測試當前使用者是否有許可權讀取(read)

-w:測試當前使用者是否有許可權寫入(write)

-x:測試當前使用者是否有許可權執行(excute)

返回0表示條件成立

返回1表示條件不成立

邏輯與,「而且」的意思

3.整數值比較

常用的測試操作符

-eq:等於(equal)

-ne:不等於(not equal)

-gt:大於(greater than)

-lt:小於(lesser than)

-le:小於或等於(lesser or equal)

-ge:大於或等於(greater or equal)

使用者數是否 > 5

使用者數是否 >= 10

檢視空記憶體的第4段

空閒記憶體是否 < 1024mb

4.字串比較

常用的測試操作符

=:字串內容相同

!=:字串內容不同,! 號表示相反的意思

-z:字串內容為空

測試當前語言環境

不是not en.us,而是zh_cn.utf-8

是否覆蓋現有檔案(yes/no)?

覆蓋成功

5.邏輯測試

常用的測試操作符

-a或&&:邏輯與,「而且」的意思

-o或||:邏輯或,「或者」的意思

!:邏輯否

測試當前使用者名稱

本主機是否有szt

如何測試/media/cdrom目錄是否存在?

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

3.如何測試是否已安裝python軟體包?

檢視python軟體包是否存在

installed 表示存在成立

not installed 表示不存在不成立

4.擴充套件:編輯指令碼szt.sh

用來判斷軟體是否安裝,如果已安裝輸出「此軟體已安裝」,如果未安裝則進行安裝

1.建立目錄/tmp/scripts

2.切換工作目錄至此目錄中

3.複製/etc/pam.d目錄至當前目錄,並重命名為szt

4.將當前目錄的szt及其裡面的檔案和子目錄的屬主改為redhat

5.將szt及其子目錄中的檔案的其它使用者的許可權改為沒有任何許可權

第七章 Shell指令碼應用(三)

1.學會使用for while迴圈語句 for語句的結構 1.讀取不同的變數值,用來逐個執行同一組命令 for 變數名 in 取值列表 do命令序列 done 使用者名稱存放在users.txt檔案中,每行乙個 root localhost cat root users.txt sifeichang...

python第七章 python教程(第七章)

字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...

Shell指令碼應用

shell script shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,它使用了linux unix下的...