zoukankan      html  css  js  c++  java
  • shell中if判断语句

    if 条件测试类型: 文件测试, 数字测试, 字符串测试

    if 语句结构:

    • if  ... ; then ....; fi
    • if ... ; then ... ; else ... ; fi

    条件测试表达式:

    •  [ 表达式 ]
    •  [[ 表达式 ]]
    •  test 表达式

    数字测试: Note

    1. 只能进行整数测试
    2. if test 3 -eq $V2   等价于  if [ 3 -eq $V2 ]

    【 3  -eq  $V2 】等于

    【 3  -ne  $V2 】不等

    【 3  -lt   $V2 】小于

    -le 小于等于   -gt 大于   -ge 大于等于

    字符串测试:Note 

    1. 当要进行小数比较时,不能使用数字测试的方法,使用字符串测试
    2. shell中的字符串比较只有=,没有==
    3. 字符串测试时做最好使用“”将字符串引起来

    [[ $V = 4* ]]   模式匹配 若$V以4开头为true

    [[ $V = "4*" ]]  字符匹配 若$V等于4* 为true

    [[ 54.23 > 0.00 ]] 小数比较

    [ -z "$V" ]   -z表示字符串为空

    [ -n "$V" ]   -n表示字符串不为空

    文件测试:

    -e FILE  测试文件是否存在

    -f FILE   测试文件是否为普通文件

    -d FILE  测试指定路径是否为目录

    。。。

     简便测试方法:  [ -n "$foo" ] && echo "foo"  #如果字符串的内容不为空,打印foo

    写case遇到的好的解决方法:

    • 判断nfs版本

    for  V in ...

    lockp=lockd

    [[ $V = 4* ]] && lockp=nfsd

    ssh $SERVER $lsLocks | grep $lockp

    done

    1.将锁封装起来,后面使用ssh执行命令   2.使用简化的if判断

    • 判断kernel版本

     

     

  • 相关阅读:
    Docker 介绍
    Docker 教程
    Python 删除文件与文件夹
    Python 读文件
    Python 打开文件(File Open)
    Python 异常处理(Try...Except)
    什么是拜占庭将军问题
    智能合约语言 Solidity 教程系列7
    给代币添加高级功能-代币管理、增发、兑换、冻结等
    一步步教你创建自己的数字货币(代币)进行ICO
  • 原文地址:https://www.cnblogs.com/yieli/p/7660266.html
Copyright © 2011-2022 走看看