Linux——bash的基础特性【条件测试】(4)

bash条件测试:
条件测试:
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]

测试表达式的类别:
	数值比较
	字符串测试
	文件测试:
		-a  FILE
		-e  FILE:文件存在性测试,存在为真,不存在为假
		[ -e file ]
	存在性及类别测试:
		-b FILE: 是否存在且为块设备
		-c FILE: 是否存在且为字符设备文件
		-d FILE: 是否存在且为目录文件
		-f FILE: 是否存在且为普通文件
		-h FILE: 是否存在且为软链接文件
		-L FILE: 是否存在且为软链接文件
		-p FILE: 是否存在且为命名管道文件
		-S FILE: 是否存在且为套接字文件
	文件权限测试:
		-r FILE:是否可读
		-w FILE:是否可写
		-x FILE:是否可执行
	文件特殊权限测试:
		-g FILE: 是否存在且拥有sgid权限
		-u FILE: 是否存在且拥有suid权限
		-k FILE: 是否存在且拥有sticky权限
		
	文件大小测试:
		-s FILE: 是否存在且不为空
	文件是否打开:
		-t fd: fd表示文件描述是否已经打开且与某终端相关
		
		-N FILE: 文件自动上一次读取之后是否被修改过  
		-O FILE: 当前有效用户是否为文件属主;
		-G FILE: 当前有效用户是否为文件属组
	双目测试:
		FILE1 -ef FILE2: FILE1与FILE2是否指向同一个设备上的相同inode
		
		FILE1 -nt FILE2: FILE1是否新于FILE2;
		FILE1 -ot FILE2: FILE1是否旧于FILE2;


组合条件测试:
	逻辑运算:
		第一种方式:
		
		COMMAND	&& COMMAND2 
		COMMAND	|| COMMAND2
		!COMMAND2

		[ -e FILE ] && [ -r FILE ]
		
		第二种方式:
			EXPRESSION -a EXPRESSION2  
			EXPRESSION -o EXPRESSION2  或者
			!EXPRESSION
			
			必须使用测试命令:
		#[ -z "$hostName" -o "$hostName" == "localhost.localdomain" ] && hostname www.manage.com
		#[ -f /bin/cat -a -x /bin/cat ] && cat /etc/fstab
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值