shell的内置变量和算术、字符、文件操作符

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是同一个文件的硬链接
发布了26 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wuli13141516/article/details/104441993
今日推荐