shell编程之判断详解,超多实例,干货满满,详细解剖,确定不来看看?

一、条件测试

1.格式

格式1:test 条件表达式
格式2:[ 条件表达式 ]:注意两边的空格
格式3:[[ 条件表达式 ]

2.文件测试操作符

先看一个例子:

[root@cheng ~]# test -d /etc ;echo $?   //测试/etc是否为目录,并输入返回值
0
[root@cheng ~]# [ ! -d /etc ] ;echo $?   //换一种格式测试,!是取反
1

-d 意思就是测试是否为目录
操作符有以下:

-f : 当文件存在时返回真
-b : 当文件存在并且是块文件时返回真(返回0)
-d : 当目录存在并且是一个目录时返回真
-h : 当文件存在并且是符号链接文件时返回真 (或 -L 文件)
-u : 当由目录指定的文件或目录存在并且设置了SUID 位时返回真
-c : 当文件存在并且是字符文件时返回真
-e : 当由目录指定的文件或目录存在时返回真
-g : 当由目录指定的文件或目录存在并且设置了SGID 位时返回真
-k : 当由目录指定的文件或目录存在并且设置了"粘滞"位时返回真
-p : 当文件存在并且是命名管道时返回真
-r : 当由目录指定的文件或目录存在并且可读时返回真
-s : 当文件存在并且文件大小大于0 时返回真
-S : 当文件存在并且是socket 时返回真
-t fd : 当fd是与终端设备相关联的文件描述符时返回真
-w : 当由目录指定的文件或目录存在并且可写时返回真
-x : 当由目录指定的文件或目录存在并且可执行时返回真
-O : 当由目录存在并且被当前进程的有效用户id 的用户拥有时返回真(字母O 大写)
-G : 当由目录存在并且属于当前进程的有效用户id 的用户的用户组时返回真
file1 -nt file2 : file1 比file2 新时返回真
file1 -ot file2 : file1 比file2 旧时返回真

3.数值比较操作符

[ -gt ]    (>)    大于
[ -lt ]   (<)    小于
[ -eq ]   (=)   等于
[ -ne ]   (!=)   不等于
[ -ge ]   (>=)   大于等于
[ -le ]   (<=)   小于等于

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值