共计 987 个字符,预计需要花费 3 分钟才能阅读完成。
在 Linux 系统 中使用 if 命令,关于文件属性的判断式
- a 如果文件存在
- b 如果文件存在,且该文件是区域设备文件
- c 当 file 存在并且是字符设备文件时返回真
- d 当 pathname 存在并且是一个目录时返回真
- e 当 pathname 指定的文件或目录存在时返回真
- f 当 file 存在并且是普通文件时返回真
- g 当由 pathname 指定的文件或目录存在并且设置了 SGID 位时返回为真
- h 当 file 存在并且是符号链接文件时返回真,该选项在一些老系统上无效
- k 当由 pathname 指定的文件或目录存在并且设置了“sticky”位时返回真
- r 当由 pathname 指定的文件或目录存在并且可读时返回为真
- s 当 file 存在文件大小大于 0 时返回真
- t 文件描述符 如果文件描述符是开启的,且链接了某一个终端
- u 当由 pathname 指定的文件或目录存在并且设置了 SUID 位时返回真
- w 当由 pathname 指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
- x 如果文件存在,且该文件有可执行的属性
- O 当由 pathname 指定的文件或目录存在并且被子当前进程的有效用户 ID 所指定的用户拥有时返回真。
- G 如果文件存在,且该文件为有效的群组 id 所拥有
- L 如果该文件存在,且该文件是符号链接文件
- S 如果该文件存在,且该文件是 Socket 文件
- N 如果该文件存在,且该文件自上次读取后曾修改过
文件 1 –nt 文件 2 如果文件 1 比文件 2 新,或者文件 1 存在,文件 2 不存在
文件 1 –ot 文件 2 如果文件 1 比文件 2 旧,或者文件 1 不存在,文件 2 存在
文件 1 –ef 文件 2 如果文件 1 和文件 2 引用到相同的设备和 inode 编号
关于字符串的条件判断式
- z 空串(如果字符串长度为 0)
- n 非空串(如果字符串长度不为 0)
字符串 如果字符串长度不为 0
!= 如果两个字符串不相等
= 如果两个字符串相等
== 如果两个字符串相等
字符串 1 < 字符串 2 如果字符串 1 小于字符串 2
字符串 1 > 字符串 2 如果字符串 1 大于字符串 2
关于算式的条件判断
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
关于 Bash 选项的条件判断
-o set 的选项名称 如果选项是开启的状态
怎么样你学会了吗?
好啦!今天的分享到这里就结束了,希望大家持续关注 马哥教育官网,每天都会有大量优质内容与大家分享!声明:文章转载于网络,版权归原作者所有,如有侵权,请及时联系删除!