• shell [ ] 和 [[ ]] 区别


    【参考文章】:shell if [[ ]]和[ ]区别 || &&

    【参考文章】:Shell test 命令

    1. [ ] 和 test

      test  等同于 [ ] 

      可用于判断某个条件是否为真。可用于 字符串,数值和文件的测试。

    1.1 字符串

      可使用的参数如下:

      也可以使用 ==(等价于=)

       示例:

    
    read -p "str1:" str1
    read -p "str2:" str2
    # [ 后面和 ] 前面必须使用空格隔开
    # = 两端必须使用空格隔开
    if [ "$str1" = "$str2" ]
    then
        echo "str1 == str2"
    else
        echo "str1 != str2"
    fi

    1.2 数值

       示例:

     read -p "num1:" num1
     read -p "num2:" num2
     # [ 后面和 ] 前面必须使用空格隔开
     # = 两端必须使用空格隔开
     if [ "$num1" -eq "$num2" ]
     then
         echo "num1 == num2"
     else
         echo "num1 != num2"
     fi
    
     if [ "$num1" -gt "$num2" ]
     then
         echo "num1 > num2"
     else
         echo "num1 <= num2"
     fi

    3. 文件

      示例:

     read -p "输入文件路径:" filepath
    
     if [ -e $filepath ]
     then
         echo "文件存在"
     else
        echo "文件不存在"
     fi

    2. [[ ]]

      [[ ]] 比 [ ] 更强大

      使用 =~ 操作符时, 支持 shell 的正则表达式

     read -p "str1:" str1
    
     str2=a{3}
    
    # [ 后面和 ] 前面必须使用空格隔开
    # = 两端必须使用空格隔开
    if [[ ${str1} =~ ${str2} ]]
    then
        echo "str1 == str2"
    else
        echo "str1 != str2"
    fi
  • 相关阅读:
    计算后的样式
    getElementsByTagName
    notepad++ 行首行尾添加字符
    Http协议基础知识
    HTTP工作流程
    URI URL URN的区别
    [转] Android利用Fiddler进行网络数据抓包
    微信公众号 跳转到小程序
    现金红包 接口开发注意事项
    现金红包 样式问题
  • 原文地址:https://www.cnblogs.com/virgosnail/p/11656187.html
Copyright © 2020-2023  润新知