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是同一个文件的硬链接 |