shell判断文件是否存在

shell判断文件是否存在,第1张

test -e filename

返回0则存在,返回1则不存在。

或者

if [ -e $filename ]

空格很关键,注意哦。

判断文件的参数如下,本人自己整理的。

-e 文件存在

-f file 是一个 regular 文件(不是目录或者设备文件)

-s 文件长度不为 0

-d 文件是个目录

-b 文件是个块设备(软盘,cdrom 等等)

-c 文件是个字符设备(键盘,modem,声卡等等)

-p 文件是个管道

-h 文件是个符号链接

-L 文件是个符号链接

-S 文件是个 socket

-t 关联到一个终端设备的文件描述符 这个选项一般都用来检测是否在一个给定脚本中的 stdin[-t0]或[-t1]是一个终端

-r 文件具有读权限(对于用户运行这个 test)

-w 文件具有写权限(对于用户运行这个 test)

-x 文件具有执行权限(对于用户运行这个 test)

Shell中的test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,那么如何使用shell来判断文件夹是否存在呢?今天小编就就带大家来看看吧。

文件夹不存在则创建

文件存在则删除

判断文件夹是否存在

判断文件是否存在

文件比较符

如果身边就有电脑,可以跟着上文一起 *** 作,这样可以更好的理解喔

本文章基于Lenovo品牌、Windows10系统撰写的。

通过git命令统计出了我在某个分支上改动的所有文件列表(文件路径是以和git工作区根目录的相对路径保存的),写入了一个文件all.txt。但是,随即发现,这个列表中的某些文件是我在开发过程中新建,然后有删除的,现在工作区中并不存在这个文件。

由于工作区的目录层级比较多,文件也比较多,挨个检查基本是不可能的。于是,写了下面的脚本,放在git工作区的根目录运行,就能够找出那些不存在的文件:

这个脚本中就用到了一个知识点,就是shell如何判断文件存在。下面是一个运行的例子:

然后,通过vim的简单排序,去重命令,可以对这些结果进行筛选和简单处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7964300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存