bash脚本编程的条件测试

如何编写测试表达式来实现所需的测试
	(1)执行命令,并利用命令状态返回值来判断
		0:成功
		1-255:失败
	(2)测试表达式
		test EXPRESSION
		[ EXPRESSION ]
		[[ EXPRESSION ]]
		EXPRESSION两端必须有空格
	
bash的测试类型
	数值测试:
		-eq: 是否等于;
		-ne: 是否不等于
		-gt: 是否大于
		-ge: 是否大于等于
		-lt: 是否小于
		-le: 是否小于等于
	字符串测试:
		==:是否等于
		>: 是否大于
		<: 是否小于
		!=: 是否不等于
		=~:模式匹配
		-z "STRING": 判断字串是否为空;空为真
		-n "STRING": 判断字串是否不空:不空为真
	注意:
		字符串要加引号
		要使用[[ EXPRESSION ]]
	文件测试:
		存在性测试
			-a 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: 文件是否有内容
		文件时间戳测试:
			-N FILE: 文件自从上一次读操作后是否修改过
		从属关系测试:
			-O FILE: 当前用户为文件属主
			-G FILE: 当前用户是否属于文件属组
		双目测试:
			FILE1 -ef FILE2: FILE1与FILE2是否硬链接
			FILE1 -nt FILE2: FILE1是否新于FILE2
			FILE1 -ot FILE2: FILE1是否旧于FILE2

	组合测试条件:
		第一种方式:
			[ -O FILE ] &&,||,! [ -r FILE ]
		第二种方式:
			[ -O FILE -a,-o,! -r FILE ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值