linux中括号的用法,【shell】Linux shell中括号的用法

Linux shell中括号的用法

概述

本文主要介绍Linux中括号的用法,主要包含判断文件和变量。

**注意事项**:中括号两边必须有空格。

使用中括号会涉及到的知识 &&、||

在本文对文件或者变量做判断的时候,可能会多次使用到&&和||这两个符号,所以在我们进入中括号的学习之前首先了解一下这两个符号的作用。

&&:并 --> 两真才为真,如果有两个条件,第一个为真,那么肯定会判断第二个条件;如果第一个条件为假,那么第二个条件将不会判断。(第一个为真,那么需要判断第二个条件才知道整体结果是否为真,如果第一个条件为假,那么无论第二个条件为真还是假,最终的结果都是假)

例1:

[ 假 ] && echo 1 最终结果无输出,因为第一个条件为假,后面的echo 0不会执行

例2:

[ 真 ] && echo 0 最终的结果为 0 ,因为一个条件为真,肯定会执行第二个条件。

||:且 -->一个为真即是真。如果第一个条件为真,那么不会判断第二个条件(因为一真即真),如果第一个条件为假,那么判断第二个条件(第二个条件如果为真还有机会使得整体的结果为真)

例3:

[ 真 ] || echo 0 # 最终结果无输出,因为第一个条件为真,echo 0 不会执行。

例4:

[ 假 ] || echo 0 #最终的结果输出0

小练习

[ 2 -eq 3 ] && echo 0

[ 2 -eq 3 ] || echo 1

最终输出的结果是?

结果是:1

&& 和 || 的综合使用

先看个小例子:

[ 2 -eq 3 ] && echo 0 || echo 1

最终结果:1

解释:如果 [ ] 的条件为真,那么执行echo 0,如果[ ]的条件为假,那么执行echo 1.

Linux 中括号运用之判断文件

常用参数:

-z:判断文件是否存在

例子:

[root@arppinging ~]# [ -z adsfsfsdfs.txt ] && echo 0 || echo 1

1 # 最终结果为1 ,因为系统中没有存在ads...txt文件

-d:判断目录是否存在

例子:

[root@arppinging ~]# [ -d /var/www ] && echo 0 || echo 1

0 #输出结果为0,因为系统中有/var/www这个目录

-x判断文件是否有执行(x)权限

例子:

[root@arppinging ~]# [ -x a.txt ] && echo 0 || echo 1

1

Linux 中括号运用之判断变量

-n 判断变量值是否为空

[root@arppinging ~]# [ -n $kfjksdfjl ] && echo 0 || echo 1

0 #变量为空,即为9

-eq 判断变量或参数是否相等

例子:

[ 1 -eq 1 ] && echo 0 || echo 1

0 # 1=1 so...

-ne 不等于

例子:

[ 1 -ne 2 ] && echo 0 || echo 1

0 # 1!=2

-gt 大于、-ge 大于等于

例子:

[root@XiaoPeng scripts]# [ 1 -gt 2 ] && echo 0 || echo 1

1

-lt 小于、-le 小于等于

[root@XiaoPeng scripts]# [ 1 -lt 2 ] && echo 0 || echo 1

0

双中括号运用

常见参数

=:等于

例子:

[root@XiaoPeng scripts]# [[ 1 = 2 ]] && echo 0 || echo 1

1

!= 不等于

例子:

[root@XiaoPeng scripts]# [[ 1 != 2 ]] && echo 0 || echo 1

0

以此类推,还有 >,=等参数,这里就不再一一写出来了。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

你可能感兴趣的:(linux中括号的用法)