shell基础命令--test命令

1.test命令

test = [ ]   ##[ ] 相当于test命令 
##判断a和b的值是否相等
test "$a" = "$b" && echo yes || echo no
[ "$a" = "$b" ] && echo yes || echo no

2.test数字对比

=等于
!=不等于
-eq等于
-ne不等于
-le小于等于
-lt小于
-ge大于等于
-gt大于
##a的值为1 b的值为2
[root@rhel8 mnt]# [ "$a" = "$b" ] && echo yes || echo no
no     		##判断a是否等于b
[root@rhel8 mnt]# [ "$a" != "$b" ] && echo yes || echo no
yes			##判断a是否不等于b
[root@rhel8 mnt]# [ "$a" -eq "$b" ] && echo yes || echo no
no			##判断a是否等于b
[root@rhel8 mnt]# [ "$a" -ne "$b" ] && echo yes || echo no
yes			##判断a是否b不等于b
[root@rhel8 mnt]# [ "$a" -le "$b" ] && echo yes || echo no
yes			##判断a小于等于b
[root@rhel8 mnt]# [ "$a" -lt "$b" ] && echo yes || echo no
yes			##判断a是否小于b
[root@rhel8 mnt]# [ "$a" -ge "$b" ] && echo yes || echo no
no			##判断a是否大于等于b
[root@rhel8 mnt]# [ "$a" -gt "$b" ] && echo yes || echo no
no			##判断a是否大于b

3.test的条件关系

-a并且
-o或者
##判断a的值是否为10以内的整数
[ "$a" -gt 0  -a "$a" -le 10 ] && echo yes || echo no
[ "$a" -le 0 -o "$b" -gt 10 ] && echo no || echo yes

4.test对空的判定

-nnozero 判定内容不为空
-zzero 判定内容为空
[ -n "$a"  ]  && echo yes || echo no ##a的值不为空输出yes,否则输出no
[ -z "$a"  ]  && echo yes || echo no ##a的值为空输出yes,否则输出no

5.test对于文件的判定

-ef文件节点号是否一致(硬链)
-nt文件1是不是比文件2新
-ot文件1是不是比文件2旧
-d目录
-S套接字
-L软链接
-e存在
-f普通文件
-b块设备
-c字符设备
#!/bin/bash
#file_check.sh 在执行时
#如果脚本后未指定检测文件报错“未指定检测文件,请指定”
#如果脚本后指定文件不存在报错“此文件不存在”
#当文件存在时请检测文件类型并显示到输出中
[ -z "$1" ] &&{
	echo "未指定检测文件,请指定"
	exit
}

[ -e "$1" ] ||{
	echo "$1 is not exist!"
	exit
}
[ -d "$1" ] &&{
	echo "$1 is directory"
}
[ -S "$1" ] &&{
	echo "$1 is socket"
}
[ -L "$1" ] &&{
	echo " $1 is link "
}
[ -f "$1" ] &&{
	echo " $1 is file "
}

[ -b "$1" ] &&{
	echo " $1 is block "
}

[ -c "$1" ] &&{
	echo " $1 is character device "
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值