zoukankan      html  css  js  c++  java
  • 学习 shell —— 条件判断 if 的参数

    1. 文件判断表达式

    • -e filename:如果 filename 存在(exist),则为真;
    • -d filename:如果 filename 为目录(directory),则为真;
    • -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 新(nt,newer than),则为真;
    • filename1 -ot filename2:如果 filename1 比 filename2 旧(ot,older than),则为真;
      • 新旧指的是修改日期;

    2. 数值比较

    • -eq:是否等于;-ne:是否不相等;
    • -gt:是否大于;-ge:是否大于等于;-lt:是否小于;-le:是否小于等于;

    3. 字符串判断

    • if [$string1=$string2]:如果 string1 等于 string2,则为真;在 shell 中字符串允许使用 =(赋值号)做等号;
      • if [$string1!=$string2]
    • if [-n $string]:如果 string 非空,则为真;
      • 等价于 if [$string]
      • if [-z $string]:如果 string 为空,则为真;

    4. 逻辑表达式

    • -a:and,与,if [表达式1 -a 表达式2]
    • -o:or,或,if [表达式1 -o 表达式2]
    • !:not,非,if [!-d $num],如果不存在目录 num

    references

  • 相关阅读:
    树的遍历
    动态规划之背包问题
    Dijkstra算法
    最短路径
    关于数学公式Markdown
    子集数
    O、Θ、Ω
    AT212 P-CASカードと高橋君
    vector的使用方法
    P3512 [POI2010]PIL-Pilots 单调队列的应用
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421324.html
Copyright © 2011-2022 走看看