https://blog.csdn.net/young_gril/article/details/81913421
內置變量:
變量名 |
描述 |
$0 |
表示腳本的名字 |
$1 -$9 | 表示位置參數1-9 |
${10} |
表示腳本的第十個參數 |
$# |
表示參數的個數 |
$? |
表示Shell命令的返回值 |
$$ |
表示當前Shell的pid |
$- |
表示當前Shell的命令行選項 |
$_ | 表示之前命令的最後一個參數 |
$! |
最後一個放入後臺作業的PID值 |
∗,∗,@ |
表示所有的參數,有雙引號時除外,"∗"表示賦值到一個變量,"∗"表示賦值到一個變量,"@"表示賦值到多個。 |
算術比較:
操作符 | 含義 |
---|---|
-eq | 等於 |
-ne | 不等於 |
-lt (<) | 小於 |
-le (<=) | 小於等於 |
-gt (>) | 大於 |
-ge (>=) | 大於等於 |
字符串比較:
操作符 | 含義 |
---|---|
= | 等於 |
== | 等於 |
!= | 不等於 |
< | 小於(ASCII) |
> | 大於(ASCII) |
-z | 字符串爲空(null) |
-n | 字符串不爲空(不爲null) |
注:== 在 [] 與 [[]] 中是不同的;!= 在 [[]] 使用;<、> 在 [] 中使用需要轉義(\),在 [[]] 中使用不需要。
文件類型操作:
操作符 | 含義 |
---|---|
-e file | 文件是否存在, 存在爲真,不存在爲假 |
-f file | 標準文件(普通文件) |
-d file | 目錄文件 |
-h file | hard link(鏈接文件) |
-L file | link(鏈接文件) |
-b file | 塊設備文件 |
-c file | 字符設備文件 |
-p file | 管道文件 |
-S file | socket套接字文件 |
-t file | 文件與終端相關聯 |
-N file | 文件最後一次讀取後被修改過 |
-s file | 文件大小不爲0,文件存在且非空 |
-r file | 文件具有讀權限 |
-w file | 文件具有寫權限 |
-x file | 文件具有執行權限 |
file1 -nt file2 | file1比文件file2新 |
file1 -ot file2 | file1比file2舊 |
file1 -ef file2 | fiel1和fiel2是同一個文件的硬鏈接 |