bash/perl判断文件是否存在,以及常见应用场景
一、 源代码实现个人常见场景,大多出现在linux shell或者perl里。#!/bin/bashfile="/etc/hosts"if [ -f "$file" ]thenecho "$file found."elseecho "$file not found."fi#!/usr/bin/perl -wmy $file = "/etc/hosts"
·
一、 源代码实现
个人常见场景,大多出现在linux shell或者perl里。
#!/bin/bash
file="/etc/hosts"
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
fi
#!/usr/bin/perl -w
my $file = "/etc/hosts";
if(-e $file){
print "$file exist. \n";
}else{
print "$file not found. \n";
}
解释:
-e pathname
True if pathname resolves to a file that exists. False if pathname cannot be resolved.
-f pathname
True if pathname resolves to a file that exists and is a regular file. False if pathname cannot be resolved, or if pathname resolves to a file that exists but is not a regular file.
regular file的意义是,常规文件,用ls -l命令查看,(例如-rw-r—–)的第一个字母来区分;
-就代表普通文件,
d代表目录文件,
l代表软连接文件等.
二、 常见应用场景
- 跑流程时,判断上一步骤是否完成;可以让上一步骤的程序,执行到某流程结束时,产生一个文件。比如fpga综合工具synplify,因为当前license非float,不支持exit命令,只能使用图形界面;之前使用sleep 5h方式,会浪费很多等待时间,而且等待时间并不可靠;现在可以使用判断文件是否存在的方式,得到可靠的等待时间。
- 根据文本内容判断时,也要先检查这个文本是否已存在,避免不必要的脚本执行问题。
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)