Linux学习---shell编程(11-条件判断式)

1. 按照文件类型进行判断

-b

判断文件是否存在,并且是否为块设备文件

-c

判断文件是否存在,并且是否为字符串设备文件

-d

判断文件是否存在,并且是否为目录文件

-e

判断文件是否存在

-f

判断文件是否存在,并且是否为普通文件

-L

判断文件是否存在,并且是否为符号链接文件

-p

判断文件是否存在,并且是否为管道文件

-s

判断文件是否存在,并且是否非空

-S

判断文件是否存在,并且是否为套接字文件

 

yesimingdeMac-mini:testShell yesiming$ ll

total 40

drwxr-xr-x   7 yesiming  staff   238B  8 30 14:12 .

drwxr-xr-x@ 53 yesiming  staff   1.8K  8 30 14:30 ..

-rwxr-xr-x   1 yesiming  staff    81B  8 29 16:24 pid.sh

-rwxr-xr-x   1 yesiming  staff   251B  8 29 16:38 read.sh

-rwxr-xr-x   1 yesiming  staff    86B  8 29 16:04 test.sh

-rwxr-xr-x   1 yesiming  staff   113B  8 29 16:09 test2.sh

-rw-r--r--   1 yesiming  staff    59B  8 30 14:12 testCut.txt

yesimingdeMac-mini:testShell yesiming$ test -e pid.sh

yesimingdeMac-mini:testShell yesiming$ echo $?

0

yesimingdeMac-mini:testShell yesiming$ [ -e pid.sh.bak ]

yesimingdeMac-mini:testShell yesiming$ echo $?

1

yesimingdeMac-mini:testShell yesiming$

 

yesimingdeMac-mini:testShell yesiming$ [ -e pid.sh ] && echo yes || echo no

yes

yesimingdeMac-mini:testShell yesiming$ [ -e pid.sh1 ] && echo yes || echo no

no

yesimingdeMac-mini:testShell yesiming$

 

2. 按照文件权限进行判断

-r

判断文件是否存在,并且是否有读权限

-w

是否存在,是否有写权限

-x

是否存在,是否有执行权限

-u

是否存在,是否有SUID权限

-g

是否存在,是否有GUID权限

-k

是否存在,是否有SBit权限

 

3. 两个文件之间进行比较

文件1 –nt 文件2

判断文件1的修改时间是否比文件2的新

文件1 –ot 文件2

判断文件1的修改时间是否比文件2的旧

文件1 –ef 文件2

判断文件1是否喝文件2的inode一致。用于判断硬链接

yesimingdeMac-mini:testShell yesiming$ [ pid.sh -nt read.sh ] && echo yes || echo no

no

 

4. 两个整数之间比较

a –eq b

a与b相等

a –ne b

a与b不相等

a –gt b

a > b

a –lt b

a < b

a –ge b

a >= b

a –le b

a <= b

yesimingdeMac-mini:testShell yesiming$ [ 1 -gt 2 ] && echo yes || echo no

no

 

5. 字符串

-z 字符串

判断字符串是否为空(为空返回真)

-n 字符串

判断字符串是否非空(非空返回真)

str1 == str2

 

str1 != str2

 

 

6. 多重判断

判断1 –a 判断2

逻辑与

判断1 –o 判断2

逻辑或

yesimingdeMac-mini:testShell yesiming$ ls

pid.sh      read.sh     test.sh     test2.sh    testCut.txt

yesimingdeMac-mini:testShell yesiming$ [ -e pid.sh  -a  -e test.sh ] && echo "had" || echo "no"

had

yesimingdeMac-mini:testShell yesiming$ [ -e pid.sh  -a  -e test1.sh ] && echo "had" || echo "no"

no

yesimingdeMac-mini:testShell yesiming$ [ -e pid.sh  -o  -e test1.sh ] && echo "had" || echo "no"

had

yesimingdeMac-mini:testShell yesiming$

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值