Linux shell判断文件或者目录是否存在_linux shell判断文件是否存在_等待破晓后"起航的博客-程序员秘密

技术标签: linux  

-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真

1.判断文件是否存在

#1
#如果文件夹不存在,创建文件夹
if [ ! -d "/opt/test/111" ]; then
    mkdir -p /opt/test/111
fi

#2
#如果目录/opt/test存在,删除目录
if [ ! -d "/opt/test" ]; then
    rm -rf /opt/test
fi

例如:判断“/opt/test/111”这个目录存不存在,若不存在就创建

2.判断文件是否存在

# -f 参数判断 $file 是否存在
file=/opt/test.txt

if [ ! -f "$file" ]; then
    echo "$file不存在"
else
    echo "$file已存在"
fi

 

3.判断文件夹是否存在并且是否具有可执行权限

#判断文件,目录是否存在或者具有权限

folder="/var/www/"
file="/var/www/test"

# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$folder"]; then
    mkdir "$folder"
fi

 4.判断一个变量是否有值

# -n 判断一个变量是否有值

if [ ! -n "$var" ]; then
    echo "$var is empty"
fi

5.判断两个变量是否相等

# 判断两个变量是否相等
if [ "$var1" = "$var2" ]; then
    echo '$var1 eq $var2'
else
    echo '$var1 not eq $var2'
fi

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44737312/article/details/124248351

智能推荐

SSO单点登录Cookie实现_陈半仙_的博客-程序员秘密

这个demo是从哔哩哔哩上面看的教程,但只将了登录,却没有将退出,内容也很简单,适合初学者了解SSO单点登录的意思和工作原理。那么什么是SSO单点登录呢,下面几个图大家了解一下。小编在csdn的主页面www域中登录后,在其他huiyi,download,blog等域名都显示登录了,这就是单点登录。下面我们来实现一下。一,配置hosts需要登录的域名windows...

常用数据库优化方案(二)_weixin_30399155的博客-程序员秘密

特别鸣谢:https://www.cnblogs.com/easypass/archive/2010/12/08/1900127.html特别说明:1、本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数...

我凭什么拿到了阿里、腾讯、今日头条3家大厂offer?真香_左夜天的博客-程序员秘密

前言在这个网络发展快速的时代,我想问为什么你选择做程序员?有人说因为不善交际,也有人说最火的行业互联网,最好的职业程序员。确实在这个繁荣的行业,只要你自己不下船技术不水,就可以衣食无忧,努力努力说不定还能加薪升职,成为别人眼中的佼佼者,没多少行业如同程序员起薪高,也没有多少行业如同程序员涨薪快,没多少行业和程序员这个行业一样处处聚集高智力人群,身边都是工作上脑子转的飞快的人群。职场不讲政治只讲方案,对一些不善交际的人来说确实是一种轻松的活法。为别人做事,那一份稳定的工资,对很多人来说不是很难接受的事情,

UUID 用法_怎么使用uuid_huangyinzhao的博客-程序员秘密

UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准.       UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Micro...

【回归预测-ELM预测】基于粒子群算法PSO优化极限学习机预测附matlab代码_Matlab科研工作室的博客-程序员秘密

部分理论引用网络文献,若有侵权联系博主删除。httpshttpshttpshttpshttps。

ERROR: `phpize' failed_梁吉林的博客-程序员秘密

在安装软件的时候出现了以下错误: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. ERROR: `phpize’ failed解决方法:yum in...

随便推点

GCC源码分析(十二) — gimplify之后的基本流程_gcc 源码分析 [email protected]的博客-程序员秘密

一、gimplify之后 gimplify之后的所有流程主要都是在函数 symbol_table::compile中完成的,此过程中除了IPA_PASS的执行外,还完成了:gimple=>rtl的转换,以及最终rtl=>汇编代码的输出:void symbol_table::finalize_compilation_unit (void){ ...... current_function_decl = NULL; /* 全局的 cfun, current_functi..

堆栈与寄存器的区别_栈和寄存器的区别_Kobe Forever的博客-程序员秘密

堆栈是内存的数据结构,内存是CPU和硬盘之间的通道。而寄存器是CPU的存储器,速度快。

MySql 使用SHOW PROFILE 进行SQL 分析_show profile mysql_留丶兰香的博客-程序员秘密

什么是SHOW PROFILE:     SHOW PROFILE 是MySql 提供可以用来分析当前会话语句执行的资源消耗情况,可以用于SQL 的调优测评依据。在默认的情况下,参数处于关闭状态,并保存着最近15 次的运行结果。我们可以通过 SHOW VARIABLES LIKE ‘PROFILING’; 命令查看参数的开关情况;通过 SET PROFILING = ON; 命令设置开启状态。

Oracle常用查询语句_canHuaShu的博客-程序员秘密

1. select * from emp;2. select empno, ename, job from emp;3. select empno 编号, ename 姓名, job 工作 from emp;4. select job from emp;5. select distinct job from emp;6. select distinct em

linux 下执行.sh文件总是提示permission denied_zhengzhe1937的博客-程序员秘密

linux 下执行.sh文件总是提示permission denied如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限) chmod 777 *.sh   or   chmod +x  *.sh,然后运行就OK了sh -x   *.sh   运行命令bash: ./abc.sh: cannot execute binary file

OkHttp源码彻底解析(六)从OkHttp看HTTP_okhttp code_Kyrie_Wangyz的博客-程序员秘密

前言:网页端好像会有协商缓存,会用到304这个code来判断是否需要更新数据,如果返回304那前端直接用本地缓存内容,不需要更新数据。在移动端,OkHttp帮我们做好了,不过要设置Cache 的位置,这东西需要前后端同时支持才行。后端不需要走到业务层面去判断是否是304,而是像我们的okhttp那样,在业务的前面有一层东西直接用安卓的请求信息判断最近的一次更新时间,判断下静态资源是否有更新过,没更新就直接帮后端小哥返回304(如果数据没更新的话)了简单的Socket

推荐文章

热门文章

相关标签