shell腳本常用(1)
阿新 • • 發佈:2018-02-22
-o 程序 是否 命令 正常 shell腳本 用戶 之間 數值 \u 表示當前用戶名
\h 表示機器名稱
\W 表示當前工作目錄的基名
\w 表示當前工作目錄的全路徑
$0、$1、$2、$3:
$0 指此shell文件的名稱
$1 指傳給shell程序的第一個參數
$2 指第二個參數
$3 指第三個參數
$# shell命令中參數的個數
$*、$@: shell命令中的所有參數
$?: shell命令或shell程序執行後的返回值或退出狀態值,是一個介於0~255之間的整數
字符串比較運算符
=或== 判斷兩個字符串是否相等 != 判斷兩個字符串是否不想等 < 左邊的字符串在ASCII碼表的順序前於右邊的字符串,只能用於[[ ]]中 > 與<效果相反,只能用於[[ ]] -z 字符串是否為空 -n 字符串是否非空 註意:字符串比較運算符不存在“>=”或“<=”
整數比較邏輯表達式
-eq 表示等於 -ne 表示不等於 -lt 表示小於 -gt 表示大於 -le 表示小於等於 -ge 表示大於等於 上述運算符可以用於(( ))和[[ ]],整個比較表達式兩側及比較運算符兩側留有空格。 如果用於[[ ]],要註意整個邏輯表達式兩側及比較運算符兩側留有空格。 如果用於(( )),可不必留空格。 除了=和!=,[]中不能使用數學上的比較運算符。 在[[ ]]中,兩類數值比較運算符都可以使用。 在(( ))中只能使用=、!=、<、>、>=、<=,不能使用第一類比較運算符。
文件判斷與比較邏輯表達式
-e 文件存在 -f 正常文件(不是目錄或設備文件) -s 不是空文件 -d 文件是目錄 -h 鏈接文件 -r 對當前文件用戶可讀 -w 對當前文件用戶可寫 -x 對當前文件用戶可執行 -O 當前用戶為文件所屬主 -nt 如f1 -nt f2 表示文件 f1 比 f2 新 -ot 如f1 -nt f2 表示文件 f1 比 f2 舊
如果一個變量賦值為包含空格的字符串,在[ ] 中使用這個變量時,要使用雙引號括住,而在 [[ ]] 則不需要。
多個邏輯表達式的復合
-a 或 && 表示 與 -o 或 || 表示 或 ! 非運算符 在[ ]中使用-a、-o、!. 不能使用圓括號括住邏輯表達式構成復雜邏輯表達式,而要使用\( \)的形式,可以使用$(( ))進行邏輯表達式的復雜運算。 在[[ ]]和(( ))中使用&&、||、! 可以使用圓括號 && 和 || 可以在兩對 [ ] 之間使用 示例: [ 1 -lt 2] && [ 3 -gt 4 ]
case語句--語法
case expression in value1) action1 ;; value2) action2 ;; ... *) action ;; esac * 表示任意個任意字符 ? 表示一個任意字符 [ ] 表示一個取值範圍,用管道符表示邏輯或
shell腳本常用(1)