shell的测试脚本

test:测试字符串、文件状态、数字

基础格式:

test 文件名
[  文件名  ]			//要加空格

可以加上条件语句,实现不同的测试方法

1.文件测试

1.1 按文件类型

  -e  文件名             文件是否存在
  -s  文件名             是否为非空
  -b  文件名             块设备文件
  -c  文件名             字符设备文件
  -d  文件名             目录文件
  -f  文件名              普通文件
  -L  文件名             软链接文件
  -S  文件名             套接字文件
  -p  文件名             管道文件

1.2 按文件权限

  -r    文件名            可读
  -w    文件名            可写
  -x    文件名            可执行

1.3 两文件相互比较

  文件1 -nt 文件2      文件1的修改时间是否比文件2新
  文件1 -ot 文件2      文件1的修改时间是否比文件2旧
  文件1 -ef 文件2      两个文件的inode节点号是否一样,用于判断是否是硬链接
#!/bin/bash
read  a      //获取键盘输入的字符串,赋值于a

test -e $a	 //检测系统内是否存在此文件
echo"$?"	//上条语句为真 则返回0

2. 字符串测试

   s1 = s2         测试两个字符串的内容是否完全一样
   s1 != s2        测试两个字符串的内容是否有差异
   -z s1           测试s1 字符串的长度是否为0
#!/bin/bash
test "asd" = "asd"   有空格
echo"$?"	//上条语句为真 则返回0

3. 数字测试

a -eq b         	测试a与b是否 相等
  -ne             	不相等
  -gt               大于
  -ge        	    大于等于
  -lt               小于
  -le               等于
#!/bin/bash
read a b		//获取两个变量

test $a -eq $b    // $ 取变量的内容
echo"$?"	//上条语句为真 则返回0

4. 复合测试

4.1 命令执行控制 (c语言的逻辑与、逻辑或)

&&        逻辑与 
||		  逻辑或

多个独立的测试语句,用&|连接(多个test)

#!/bin/bash
test -e /home && test -d /home
根目录下的home ,既要存在,还要是目录文件

4.2 多重条件判断

一个test,判断多个条件

-a			同时成立
-o			任意成立
!			取反
#!/bin/bash
test -e /home -a -d /home
			同时成立
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值