Shell脚本判断文件是否存在

Shell脚本判断文件是否存在,第1张

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

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

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

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

使用 if ls *.c >/dev/null 2>&1then,这是一个重咐昌饥定向的方法,ls所有以.c为后缀的文件,如果不存在,将标准错误重定向到标准迅纤输出,这里2>&1 的意思就是将标准错误也输出到标准输出当中。重定向衡返中 0-标准输出,1-标准输出,2-标准错误,而No such file or directory是一个标准错误。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存