shell脚本--文件测试

Posted 寻觅beyond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本--文件测试相关的知识,希望对你有一定的参考价值。

文件测试是指测试某一个文件或者目录是否存在

测试文件格式[ 操作符 目录或者文件 ]    注意左括号和操作符之间有一个空格,文件或者目录 与右边的括号之间也有一个空格。 

-d 测试是否为目录
-e 测试文件或者目录是否存在
-f 测试是否为文件
-r 测试当前用户是否对文件有读权限
-w 测试当前用户是否对文件有写权限
-x 测试当前用户是否对文件有执行权限
-L 测试是否为符号链接文件

测试的结果可以使用$?来获取,$?表示上一条命令的执行是否成功  或者  判断条件是否成立:   如果运行成功则返回0,如果出现异常或者失败时,返回非0值。于是就可以$?来判断文件测试是否成功了。

实例:

#!/bin/bash
#文件名:test.sh

[ -d /etc ]
echo $?

[ -f /etc ]
echo $?

[ -f test.sh ]
echo $?

[ -x test.sh ]
echo $?

 运行结果:

[email protected]:~$ ./test.sh
0
1
0
0
[email protected]:~$ 

  强化:

#!/bin/bash
#文件名:test.sh

[ -d /etc ] && echo "one"
[ -f /etc ] && echo "two"
[ -f test.sh ] && echo "three"
[ -x test.sh ] && echo "four"

  运行:

[email protected]:~$ ./test.sh
one
three
four
[email protected]:~$ 

  

以上是关于shell脚本--文件测试的主要内容,如果未能解决你的问题,请参考以下文章

shell 脚本 片段

Shell脚本切割日志

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

Shell脚本编程概述:算数运算和条件测试

Eclipse 中的通用代码片段或模板

Shell脚本基础 使用变量 条件测试及选择 列表式循环