标王 热搜:
 
当前位置: 首页 » 系统运维 » 操作系统 » 正文

Bash Shell:测试文件或目录是否存在

放大字体  缩小字体 发布日期:2019-04-27  来源:OoWQuS  作者:xinb2b.cn  浏览次数:34
核心提示:在使用bash编程时,我们经常需要检查文件是否已经存在,创建新文件,在文件中插入数据。有时我们还需要从其他脚本执行其他脚本。


在使用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

OoWQuS

 
关键词: 是否存在
 
[ 系统运维搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]
 
推荐图文
如何在shell脚本中使用逻辑或&和 在bash shell脚本中使用for循环
如何在Linux上为用户设置Http代理 如何在Linux上创建,列出和删除Docker容器
推荐系统运维
点击排行
 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅