linux 下shell中if的“-e,-d,-f”是什么意思「建议收藏」

linux 下shell中if的“-e,-d,-f”是什么意思「建议收藏」-efilename如果filename存在,则为真-dfilename如果filename为目录,则为真-ffilename如果filename为常规文件,则为真-Lfilename如果filename为符号链接,则为真-rfilename如果filename可读,则为真-wfilename如果filename可写,则为真-xfilenam

大家好,又见面了,我是你们的朋友全栈君。

 

文件表达式
-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 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于

字符串变量表达式
If  [ $a = $b ]                 如果string1等于string2,则为真
                                字符串允许使用赋值号做等号
if  [ $string1 !=  $string2 ]   如果string1不等于string2,则为真       
if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
if  [ -z $string  ]             如果string 为空,则为真
if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 

    逻辑非 !                   条件表达式的相反
if [ ! 表达式 ]
if [ ! -d $num ]               如果不存在目录$num

    逻辑与 –a                   条件表达式的并列
if [ 表达式1  –a  表达式2 ]

    逻辑或 -o                   条件表达式的或
if [ 表达式1  –o 表达式2 ]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157199.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java虚拟机(JVM)面试题(2020最新版)

    文章目录Java内存区域说一下JVM的主要组成部分及其作用?说一下JVM运行时数据区深拷贝和浅拷贝说一下堆栈的区别?队列和栈是什么?有什么区别?HotSpot虚拟机对象探秘对象的创建为对象分配内存处理并发安全问题对象的访问定位句柄访问直接指针内存溢出异常Java会存在内存泄漏吗?请简单描述垃圾收集器简述Java垃圾回收机制GC是什么?为什么要GC垃圾回收的优点和原理。并考虑2种回收机制垃圾…

    2022年4月18日
    59
  • 两个栈实现一个队列

    用栈实现队列1、栈的特点栈的特点是先进后出,进出元素都是在同一端(栈顶)。入栈:出栈:2、队列的特点队列的特点是先进先出,出入元素是在不同的两端(队头和队尾)。入队:出队:3、两个栈实现队列我们拥有两个栈,可以让其中一个栈作为队列的入口,负责插入新元素;另一个栈作为队列的出口,负责移除老的元素。队列的主要操作无非有两个:入队和出队。在…

    2022年4月4日
    49
  • vagrant 登录不了

    vagrant 登录不了

    2022年2月18日
    52
  • SQLPLUS登陆命令「建议收藏」

    一.SQLPLUS登陆命令:使用sqlplus:10G之前的版本登陆时需要加引号(单、双引号皆可)如:sqlplus"/assysdba"sqlplus-prelim/assysdba    从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候可以连接到SGA而不是数据库,也就…

    2022年4月10日
    66
  • staruml画用例图连线_画用例图的例题

    staruml画用例图连线_画用例图的例题好久没画图在StarUML里都找不到useCase了,记下来不然又忘了右击Untitled->AddDiagram->UseCaseDiagram,然后左边就有UseCase了就可以画用例图了

    2022年9月3日
    5
  • nfs之端口设置

    nfs之端口设置1,修改/etc/sysconfig/nfs文件  MOUNTD_PORT="4002"STATD_PORT="4003"LOCKD_TCPPORT="4004"LOCKD_UDPPORT="4004"查看rpcinfo-p能看到mouted_port=4002,其余三项未显示2,tcp 1112049端口udp111 4046端口 把…

    2022年6月27日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号