shell文件测试
实例:
测试当前目录下是否存在at.sh该文件
存在返回1,不存在返回0 [ -f ./at.sh ] 注意有[]两边的空格
|
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash #txt.sh if [ -f ./at.sh ] then echo "该文件存在" else echo "该文件不存在" fi |
具体说明:
该测试方法不仅可以在shell文件中书写,也可以直接写在命令中测试
例如:
命令:[ -f ./at.sh ]
输出结果的命令:echo $?
如果结果为0,说明该文件存在!!
如果结果为1,说明该文件不存在
解释原因:$?本来是用在测试上条命令是否执行成功的,当为0时代表执行成功(0个错误)反之相反
参数-f表示文件(file)
-d测试是否为目录(dir)
-e测试目录或者文件是否存在(exit)
-r测试当前用户是否拥有读取权限(read)
-w测试当前用户是否拥有写入权限
-x测试当前用户是否拥有可执行权限
整型测试:
实例:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash #txt.sh age=20 if [ $age -eq 20 ] then echo "该用户年龄为20,正确" else echo "错误" fi |
参数解释:
-eq:等于=
-ne:不等于!=
-gt:大于>
-lt:小于<
-ge:大于或等于≥
-le:小于或等于≤
同理:也可以将测试写在命令行中,不写在shell文件中,如下所示
命令:
age=20
[ $age -eq 30 ]
echo $?
输出结果:1(执行失败,该语句结果错误)
age=20
[ $age -eq 20 ]
echo $?
输出结果:0(执行成功)
© 著作权归作者所有
文章评论(0)