shell-test命令

test可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性、属性、类型等判断。
test “ a " = = " a" == " a"=="b” 等同于 [ “ a " = = " a" == " a"=="b” ]
[ “ a " = " a" = " a"="b” ] ##等于 一个等于号和两个等于号都是判断是否相等
[ “ a " ! = " a" != " a"!="b” ] ##不等于
[ “ a " − e q " a" -eq " a"eq"b” ] ##等于
[ “ a " − n e " a" -ne " a"ne"b” ] ##不等于
[ “ a " − l e " a" -le " a"le"b” ] ##小于等于
[ “ a " − g e " a" -ge " a"ge"b” ] ##大于等于
[ “ a " − g t " a" -gt " a"gt"b” ] ##大于
[ “ a " − l t " a" -lt " a"lt"b” ] ##小于
[ “ a " − n e " a" -ne " a"ne"b” -a “ a " − g t " a" -gt " a"gt"b” ] ##-a必须条件都满足
[ “ a " − n e " a" -ne " a"ne"b” -o" a " − g t " a" -gt " a"gt"b" ] ##-a条件至少满足一个
[ -z “$a” ] ##是否为空
[ -e “file” ] ##是否存在
[ -f “file” ] ##普通文件
[ -b “file” ] ##块设备
[ -S “file” ] ##套接字
[ -c “file” ] ##字符设备
[ -L “file” ] ##软链接

[root@desktop8 /]# test 1 == 2
[root@desktop8 /]# echo $?
1
[root@desktop8 /]# test 1 == 1
[root@desktop8 /]# echo $?
0
[root@desktop8 /]# [ 1 == 2 ]
[root@desktop8 /]# echo $?
1
[root@desktop8 /]# [ 1 == 1 ]
[root@desktop8 /]# echo $?
0
[root@desktop8 /]# [ 1 = 1 ]
[root@desktop8 /]# echo $?
0
[root@desktop8 /]# [ 1 != 1 ]
[root@desktop8 /]# echo $?
1
[root@desktop8 /]# [ 1 != 2 ]
[root@desktop8 /]# echo $?
0

一下用两个练习来用到上面的判断
练习:
判断输入的数字是否在10以内
1.输入是否为空
2.如果大于等于0小于等于10输出yes,否则输出no

[root@desktop8 脚本]# cat judge.sh 
#!/bin/bash
read -p "请输入一个数:" a
[ -z "$a" ] && { 
	echo "please input a num"
        exit 1
}
[ "$a" -le "10" -a "$a" -ge "0" ] && echo "yes" || echo "no" 
[root@desktop8 脚本]# sh judge.sh 
请输入一个数:0
yes
[root@desktop8 脚本]# sh judge.sh 
请输入一个数:10
yes
[root@desktop8 脚本]# sh judge.sh 
请输入一个数:11
no
[root@desktop8 脚本]# sh judge.sh 
请输入一个数:
please input a num

练习
判断文件类型:

[root@desktop8 脚本]# cat file.sh 
#!/bin/bash
read -p "请输入一个文件,包括路径:" char
[ -e "$char" ] && echo "文件存在" || echo "文件不存在"
[ -f "$char" ] && echo "该文件为普通文件"
[ -b "$char" ] && echo "该文件为块设备"
[ -S "$char" ] && echo "该文件为套接字"
[ -c "$char" ] && echo "该文件为字符设备"
[ -L "$char" ] && echo "该文件为软链接"
[root@desktop8 脚本]# sh file.sh 
请输入一个文件,包括路径:/etc/passwd
文件存在
该文件为普通文件
[root@desktop8 脚本]# sh file.sh 
请输入一个文件,包括路径:/file
文件不存在
[root@desktop8 脚本]# sh file.sh 
请输入一个文件,包括路径:/dev/vda1
文件存在
该文件为块设备
[root@desktop8 脚本]# sh file.sh 
请输入一个文件,包括路径:/bin/zsoelim
文件存在
该文件为普通文件
该文件为软链接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值