zoukankan      html  css  js  c++  java
  • shell-添加条件测试的多种方法语法介绍与简单实战

    1. 条件测试
      1) 测试语句
      1) 条件测试语法
        在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作,有时也会通过与if等条件语句相结合,使我们可以方便的完成判断。
      2) 【语法说明】
        格式1:test<测试表达式>
        格式2:[<测试表达式>]
        格式3:[[<测试表达式>]]
        说明:
          格式1和格式2是等价的。
        格式3为扩展的test命令,有网友推荐用推荐3,老男孩习惯使用格式2.
        提示:
          在[[]]中可以使用通配符进行模式匹配。&&、||、>、<等操作符可以应用于[[]]中,但不能应用于[]中。
          对整数进行关系运算,也可以使用shell的算术运算符(())。
      3) 【语法例子】
        格式1:test<测试表达式>
        范例1:test测试文件

    [root@1-241 scripts]# test -f file && echo true ||echo false
    false
    [root@1-241 scripts]# touch file
    [root@1-241 scripts]# test -f file && echo true ||echo false
    true
    

        范例2:test命令非(!)的写法

    [root@1-241 scripts]# test ! -f file && echo true ||echo false
    true
    [root@1-241 scripts]# touch file
    [root@1-241 scripts]# test ! -f file && echo true ||echo false
    false
    

        格式2:[<测试表达式>]
        范例:[]

    [root@1-241 scripts]# [ -f file ] && echo true ||echo false
    false
    [root@1-241 scripts]# touch file
    [root@1-241 scripts]# [ -f file ] && echo true ||echo false
    true
    [root@1-241 scripts]# [ -f file ] && cat file
    [root@1-241 scripts]# rm -rf file
    [root@1-241 scripts]# [ -f file ] && cat file
    [root@1-241 scripts]# cat file
    cat: file: 没有那个文件或目录
    

        格式3:[[<测试表达式>]]

        范例:[[]]

    [root@1-241 scripts]# [[ -f file ]] && echo true || echo false
    false
    [root@1-241 scripts]# [[ ! -f file ]] && echo true || echo false
    true
    [root@1-241 scripts]# [[ -f file && -f folder ]] && echo true || echo false
    false
    [root@1-241 scripts]# [ -f file && -f folder ] && echo true || echo false
    -bash: [: missing `]'
    false
    [root@1-241 scripts]# [ -f file -a -f folder ] && echo true || echo false
    false
    [root@1-241 scripts]# touch file folder
    [root@1-241 scripts]# [ -f file -a -f folder ] && echo true || echo false
    true
    [root@1-241 scripts]# 
    [root@1-241 scripts]# rm -rf file
    [root@1-241 scripts]# [ -f file -a -f folder ] && echo true || echo false
    false
    

    2. 文件测试操作符
      在书写测试表达式时,可以使用表1.3.4中的文件测试操作符
      表1.3.4常用文件测试操作符号

       常用文件测试操作符号的记忆方法:

    [root@1-241 scripts]# echo f=file
    f=file
    [root@1-241 scripts]# echo d=dirctory
    d=dirctory
    [root@1-241 scripts]# echo s=size
    s=size
    [root@1-241 scripts]# echo e=exist
    e=exist
    [root@1-241 scripts]# echo r=read
    r=read
    [root@1-241 scripts]# echo w=write
    w=write
    [root@1-241 scripts]# echo x=executable
    x=executable
    [root@1-241 scripts]# echo nt="new than"
    nt=new than
    [root@1-241 scripts]# echo ot="old than"
    ot=old than
    

      

     

  • 相关阅读:
    VS2013搭建wxWidgets开发环境
    LinuxSystemProgramming-Syllabus
    Python入门2(Python与C语言语法的不同、Notepad++运行Python代码)
    Python入门1(简介、安装)
    面试题收集---grep和find的区别
    浅拷贝 和深拷贝
    使用 system.io.filesysteminfo 来查找文件。
    使用FileSystemWatcher捕获系统文件状态
    system.io.file创建
    Javascript诞生记 [转载]
  • 原文地址:https://www.cnblogs.com/scajy/p/12765636.html
Copyright © 2011-2022 走看看