博客
关于我
Shell条件判断语句上
阅读量:167 次
发布时间:2019-02-28

本文共 1153 字,大约阅读时间需要 3 分钟。

按照文件类型进行判断

在实际工作中,我们经常需要根据文件的存在性和类型来判断系统状态或执行某些操作。以下是常用的判断方法:

两种判断格式

在Shell命令中,文件存在性和文件类型判断通常使用以下格式:

  • test -e /path/to/file

    如果文件存在,命令执行成功,输出0;否则输出非零数值。可以结合命令执行结果进行判断,例如:

    if test -e /root/install.log; then echo "yes"; else echo "no"; fi

    如果命令成功,输出"yes";否则输出"no"。

  • [ -e /path/to/file ]

    该格式也可以用于判断文件是否存在,但需要注意文件类型。对于目录,通常使用[ -d /path/to/dir ]

  • 实战

    以下是实际案例示例:

  • 列示例文件:

    [root@localhost ~]# lsabc   cansy  Downloads  Pictures  Templatesabcd ChangeLog-2.6.0  initial-setup-ks.cfg  Public  test.txtanaconda-ks.cfg  Desktop  linux-2.6.39.tar.bz2  sh  Videoscangls  Documents  Music  student.txt  XshellXftpPortable.zip
  • 判断特定文件是否存在:

    [root@localhost ~]# [ -e /root/test.txt ][root@localhost ~]# [ -e /root/test.txt2 ]

    输出结果分别为:

    yesno

    然后执行:

    echo $?

    输出结果为:

    1
  • 判断目录是否存在并输出结果:

    [root@localhost ~]# [ -d /root ] && echo "yes" || "no"

    输出结果为:

    yes
  • 按照文件权限判断

    文件权限判断是系统管理中的常见操作,通常用于脚本自动化处理。以下是判断文件权限的命令示例:

  • 判断文件是否可写:

    [root@localhost ~]# [ -w /root/test.txt ] && echo "yes" || "no"

    输出结果为:

    yes

    说明:文件存在且可写。

  • 判断文件是否可读:

    [root@localhost ~]# [ -r /root/test.txt ] && echo "yes" || "no"

    输出结果为:

    yes
  • 判断文件是否可执行:

    [root@localhost ~]# [ -x /root/test.sh ] && echo "yes" || "no"

    输出结果为:

    yes

    说明:文件存在并可执行。

  • 转载地址:http://oxhj.baihongyu.com/

    你可能感兴趣的文章
    PHP 的标准输入与输出
    查看>>
    PHP 第一天
    查看>>
    PHP 统计数据功能 有感
    查看>>
    PHP 输入输出流合集
    查看>>
    PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
    查看>>
    PHP8中match新语句的操作方法
    查看>>
    PHP:第一章——PHP中常量和预定义常量
    查看>>
    PHP:第一章——PHP中的位运算
    查看>>
    phpcms
    查看>>
    phpcms V9 自定义添加 全局变量{DIY_PATH}方法
    查看>>
    Redis五种核心数据结构的基本使用与应用场景
    查看>>
    PHPCMS多文件上传和上传数量限制
    查看>>
    phpEnv的PHP集成环境
    查看>>
    PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/c...
    查看>>
    PHPMailer发送邮件
    查看>>
    phprpc简单使用
    查看>>
    phpStudy安装教程
    查看>>
    php上传文件找不到临时文件夹
    查看>>
    PHP中implode()和explode()
    查看>>
    php中使用ajax进行前后端json数据交互
    查看>>