Shell编程中if条件测试 test、 [ ]、 [[]] 的区别

Shell编程中if条件测试 test [] [[]] 的区别

https://blog.csdn.net/yujin2010good/article/details/78473964
声明:此文章仅作为作者本人学习使用,不作其他用途。

test:

1、测试文件是否存在
[root@node01 ~]# test -f file&& echo 1||echo 0
0
[root@node01 ~]# touch file
[root@node01 ~]# test -f file&& echo 1||echo 0
1

[root@node01 ~]# test ! -f file&& echo 1||echo 0 取反
0

字符串判断
[root@node01 ~]# arg=
[root@node01 ~]# test -n “KaTeX parse error: Expected 'EOF', got '&' at position 6: arg" &̲&echo 1||echo 0…arg” &&echo 1||echo 0
1
[root@node01 ~]# test -z “KaTeX parse error: Expected 'EOF', got '&' at position 6: arg" &̲&echo 1||echo 0…arg” &&echo true||echo false
true

[ ]
与test形式是完全等价的,格式上应该注意,【 】前后都应该有空格

[root@node01 ~]# [ -f file ]&& echo 1||echo 0
1
[root@node01 ~]# rm file
[root@node01 ~]# [ -f file ]&& echo 1||echo 0
0
[root@node01 ~]# [ ! -f file ]&& echo 1||echo 0
1

可以简写(不存在就不理他)
[root@node01 ~]# [ -f file ]||echo 0

[root@node01 ~]# [ -f file ]&& echo 1

【【 】】
其中,条件表达式用来测试文件的属性和进行字符串比较。在“[[” 和“]]”之间的词不进行词分解和文件名生成。条件表达式与test或【】中表达式的形式类似

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值