在使用bash编程时,我们经常需要检查文件是否已经存在,创建新文件,在文件中插入数据。有时我们还需要从其他脚本执行其他脚本。本篇文章将介绍关于Bash Shell:测试文件或目录是否存在。
1、bash shell:测试文件是否存在
如果我们需要添加一些内容或者需要从脚本创建文件。首先,确保该文件是否已经存在。例如,我的一个脚本在file/tmp/testfile.log中创建日志,我们需要确保该文件是否存在。
#!/bin/bash if [ -f /tmp/testfile.log ] then echo "File exists" fi
登录后复制
以上语句也可以使用test关键字编写,如下所示
#!/bin/bash if test -f /tmp/testfile.log then echo "File exists" fi
登录后复制
或者在一行中我们可以写成如下所示。在shell脚本编写时,这非常有用。
[ -f /tmp/testfile.log ] && echo "File exists"
登录后复制
在上面的命令中添加其他部分
[ -f /tmp/testfile.log ] && echo "File exists" || echo "File not exists"
登录后复制
2、bash shell:测试目录是否存在
有时我们需要在一个特定的目录中创建文件,或者需要目录。我们都应该确保该目录存在。例如,我们现在检查/ tmp / mydir是否存在。
#!/bin/bash if [ -d /tmp/mydir ] then echo "Directory exists" fi
登录后复制
以上语句也可以使用test关键字编写,如下所示
#!/bin/bash if test -d /tmp/mydir then echo "Directory exists" fi
登录后复制
或者在一行中我们可以写成如下所示
[ -d /tmp/mydir ] && echo "Directory exists"
登录后复制
3、Bash Shell:如果不存在则创建文件目录
这是在创建文件之前检查文件是否存在的最佳方法,否则将可能收到错误消息。这在运行时创建shell脚本所需的文件或目录时非常有用。
文件:
[ ! -f /tmp/testfile.log ] && touch /tmp/testfile.log
登录后复制
目录:
1 [ ! -d /tmp/mydir ] && mkdir -p /tmp/mydir
登录后复制
本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注Work网的Linux教程视频栏目!
以上就是Bash Shell:测试文件或目录是否存在的详细内容,更多请关注Work网其它相关文章!