Shell編程入門
1,變量賦值及算術運算
// 示例代碼:
// 注意“=”號兩邊不能有空格
// 以上代碼片斷將輸出:
1
2
3
6
12
2
2,數組
1,賦值
// 示例代碼
// 以上代碼片斷將輸出:
1
China
100
2,遍歷數組
// 示例代碼
// 以上代碼片斷將輸出:
China
Japan
Korea
// 注:${arr2[@]}中的@符號表示元素列表
3,條件判斷
1,整數比較
-lt,小于
-le,小于等于
-eq,等于
-ge,大于等于
-gt,大于
-ne,不等于
// 示例代碼:
// 以上代碼片斷將輸出:
a<b is true
a<b && c>b is true
2,字符串比較
s1 = s2
s1 != s2
s1 > s2
s1 < s2
-n s1,s1不為null,長度大于零
-z s1,s1為null,長度為零
// 示例代碼:
// 以上代碼片斷將輸出:
s1=s2 is true
3,文件屬性判斷
-a file1 :file1 存在
-d file1 :file1存在并是1個目錄
-e file1 :file1 存在,同-a
-f file1 :file1 存在并且是1個常規的文件(不是目錄或其他特殊類型文件)
-r file1 :有讀的權限
-s file1 :文件存在且不為空
-w file1 :有寫的權限
-x file1 :有履行的權限,或對目錄有search的權限
-N file1 :在上次讀取后,文件有改動
-O file1 :own所屬的文件
-G file1 :group所屬的文件
file1 -nt file2 :file1 比 file2 更新,以最后更新時間為準
file1 -ot file2 :file1 比 file2 更舊 ,以最后更新時間為準
// 示例代碼:
// 以上代碼片斷將輸出:
s1=s2 is true
/home dir is exists
4,函數定義
函數參數示意:
$0:表示函數名稱
$1:第1個參數
$2:第2個參數
// 示例代碼:
// 以上代碼片斷將輸出:
6
注意:
Shell語言函數返回值不同于傳統語言,Shell中的返回值通常是指命令履行后的返回值,成功0,失敗1;
以上示例代碼中有return語句,說明函數自定義了返回值,所以可以用 $? 查看這個返回值。
a為全局變量,b為局部變量。