shell脚本学习笔记 - embedclub/Lavender GitHub Wiki

11.文件测试操作:

返回true,如果:

-e 文件存在

-a 文件存在(已被弃用)

-f 被测文件是一个regular文件(正常文件,非目录或设备)

-s 文件长度不为0

-d 被测对象是目录

-b 被测对象是块设备

-c 被测对象是字符设备

-p 被测对象是管道

-h 被测文件是符号连接

-L 被测文件是符号连接

-S(大写) 被测文件是一个socket

-t 关联到一个终端设备的文件描述符。用来检测脚本的stdin[-t0]或[-t1]是一个终端

-r 文件具有读权限,针对运行脚本的用户

-w 文件具有写权限,针对运行脚本的用户

-x 文件具有执行权限,针对运行脚本的用户

-u set-user-id(suid)标志到文件,即普通用户可以使用的root权限文件,通过chmod +s file实现

-k 设置粘贴位

-O 运行脚本的用户是文件的所有者

-G 文件的group-id和运行脚本的用户相同

-N 从文件最后被阅读到现在,是否被修改