一 test條件判斷
如果表達式爲true,返回0退出狀態,如果表達式爲false,則返回非零退出狀態。test具有替代語法,使用括號“[]”將表達式括起來,更易於閱讀
1。字符串比較運算符: = ; !=
**) “ = ” 對兩個字符串進行比較,相等則返回零推出狀態,不相等則返回非零退出狀態
**)“ != ” 對兩個字符串進行比較,不相等則返回零退出狀態,相等則返回非零退出狀態
2、數字比較符運算:
-eq 檢測兩個數是否相等,相等則返回ture
**) 輸入一個ip ,檢測該主機是否開機,當沒有輸入ip時提示用戶輸入ip
-ne 檢測兩個數是否相等,不相等則返回true
-lt 檢測左邊的數是否小於右邊的,如果是,則返回true
-le 檢測左邊的數是否小於等於右邊的,如果是,則返回true
-gt 檢測左邊的數是否大於右邊的,如果是,則返回true
-ge 檢測左邊的數是否大於等於右邊的數,如果是,則返回true
*)輸入兩個數,將這兩個數相加,判斷他們的結果是否大於10
3、文件狀態運算符:
-b file 檢測文件是否是塊設備,如果是,則返回true
-c file 檢測文件是否是字符設備文件,如果是,則返回true
-d file 檢測文件是否是目錄,如果是,則返回true
-f file 檢測文件是否是普通文件(既不是目錄,也不是設備文件),如果是,則返回true
-w file 檢測文件是否可寫
-x file 檢測文件是否可執行
-s file 檢測文件是否爲空,不爲空則返回true
-e file 檢測文件是否存在,如果是,則返回true
-L file 檢測文件是否爲鏈接,如果是,則返回true
**)輸入文件名,顯示文件的狀態
4.邏輯運算符,
! 非運算,表達式爲true時,則返回false,否則返回true
-o 或運算,有一個表達式true則返回true
-a 與運算,兩個表達式都爲true才返回true
&& 返回爲true時執行命令
|| 返回爲false時執行命令
二、if語句
if命令檢查if後面的命令或列表的退出值。如果第一個命令評估值爲true,則運行then之後的命令列表,直至else。,如果第一個命令的評估爲false非零,則運行else與fi之間的命令列表(反向寫if,標記if塊的結束)
示例:
**)自動建立目標文件中的用戶,並添加密碼westos
三、expect語句
在shell中利用exprct實現自動應答腳本
*)自動應答ssh遠程連接時的問題
*)利用自動應答腳本遠程連接主機並抓取該主機的主機名
四、 環境變量
shell和腳本使用變量來存儲數據,有些變量可以連同他們的內容傳遞給子進程,這些變量稱爲環境變量
*)env 顯示所有環境變量
*)利用alias定義屬於自己系統命令,將命令寫入.bashrc文件永久生效
##講“mv” 命令改爲 “HH”