本文共 2970 字,大约阅读时间需要 9 分钟。
测试文件属性:
-b file --是否为块设备
-c file --是否为字符设备
-r file --文件是否只读
-w file --文件是否可写
-x file --文件是否可执行
-s file --文件长度大于0为真
-d file --文件是否为一个目录
-f file --是否为普通文件
-e file --文件是否存在
[root@tong1 ~]# cat 1.sh
#!/bin/bashecho "---------------------"read -p '请输入一个目录:' abif [ -d $ab ];then echo "此文件是一个目录:$ab"elif [ -f $ab ];then echo "此文件是一个文件:$ab"else echo "不是文件也不是目录,请重新输入"fi echo "----------------------"[root@tong1 ~]# ./1.sh
---------------------请输入一个目录:qw不是文件也不是目录,请重新输入----------------------[root@tong1 ~]# ./1.sh ---------------------请输入一个目录:install.log此文件是一个文件:install.log----------------------[root@tong1 ~]# ./1.sh ---------------------请输入一个目录:innotop-1.9.0此文件是一个目录:innotop-1.9.0----------------------[root@tong1 ~]#测试数值:
n1 -eq n2 --n1等于n2
n1 -ne n2 --n1不等于n2
n1 -gt n2 --n1大于n2
n1 -lt n2 --n1小于n2
n1 -ge n2 --n1大于等于n2
n1 -le n2 --n1小于等于n2
[root@tong1 ~]# cat 1.sh
#!/bin/bashecho "---------------------"read -p '输入两个数比较大小:' a bif [ $a -gt $b ];then echo "第一个数:$a大于第二个数:$b"elif [ $a -lt $b ];then echo "第二个数:$b大于第一个数:$a"elif [ $a -ne $b ];then echo "两个数相等$a,$b"else echo "输入的数有问题"fi echo "----------------------"[root@tong1 ~]# ./1.sh
---------------------输入两个数比较大小:12 23第二个数大于第一个数----------------------[root@tong1 ~]# vim 1.sh [root@tong1 ~]# ./1.sh ---------------------输入两个数比较大小:12 23第二个数:23大于第一个数:12----------------------[root@tong1 ~]# ./1.sh ---------------------输入两个数比较大小:23 12第一个数:23大于第二个数:12----------------------[root@tong1 ~]# ./1.sh ---------------------输入两个数比较大小:12 12输入的数有问题----------------------[root@tong1 ~]# ./1.sh ---------------------输入两个数比较大小:dwf w./1.sh: line 4: [: dwf: integer expression expected./1.sh: line 6: [: dwf: integer expression expected./1.sh: line 8: [: dwf: integer expression expected输入的数有问题----------------------[root@tong1 ~]#测试字符串:
-z s1 --字符串为空
-n s1 --字符串不为空
s1=s2 --字符串相等
s1!=s2 --字符串不相等
s1 --是否为空串
[root@tong1 ~]# cat 1.sh
#!/bin/bashecho "---------------------"read -p '请输入两个字符串:' a bif [ -z $a ] || [ -z $b ] ;then echo "字符串不能为空"elif [ $a = $b ];then echo "字符串相等"else echo "不是字符串,请重新输入"fi echo "----------------------"[root@tong1 ~]# ./1.sh
---------------------请输入两个字符串:a s不是字符串,请重新输入----------------------[root@tong1 ~]# ./1.sh ---------------------请输入两个字符串:a a字符串相等----------------------[root@tong1 ~]# ./1.sh ---------------------请输入两个字符串:2 f不是字符串,请重新输入----------------------[root@tong1 ~]#测试逻辑算符:
-a --与
-o --或
! --非
[root@tong1 ~]# cat 1.sh
#!/bin/bashecho "---------------------"read -p '请输入两个字符串:' a bif [ -z $a -a -z $b ] ;then echo "字符串不能为空"elif [ $a = $b -o $a = $b ];then echo "字符串相等或不相等"else echo "不是字符串,请重新输入"fi echo "----------------------"[root@tong1 ~]# ./1.sh
---------------------请输入两个字符串:a s不是字符串,请重新输入----------------------[root@tong1 ~]# ./1.sh ---------------------请输入两个字符串:a a字符串相等或不相等----------------------[root@tong1 ~]# ./1.sh ---------------------请输入两个字符串:2 f不是字符串,请重新输入----------------------[root@tong1 ~]#转载地址:http://hqubl.baihongyu.com/