• shell的string operator


    ${varname:-word}

    如果varname存在并且不为nil,那么返回varname的值,否则返回word。这个常用来在varname未定义时返回默认值

    ${varname:=word}

    如果varname存在并且不为nil,那么返回varname的值,否则将varname的值设置为word并且返回该值。这个常用来对变量设置默认值

    ${varname:?message}

    如果varname存在并且不为nil,那么返回varname的值,否则打印varname:message,并且中断脚本(只有在non-interactive shell下成立)

    ${varname:+word}

    如果varname存在并且不为nil,返回word,否则返回nil

    ${varname:offset:length}

    从offset开始,截取长度为length的子串,其中字符串的序号从0开始算,有以下几种特殊情况:

    1 若不指定length,则一直截取到整个字符串末尾

    2 若offset为负数,从字符串末尾开始往后数offset个字符,然后截取length个字符;如果不指定length,那么一直截取到整个字符串末尾,比如:

    name=abcdef
    ${name: -3:2} 输出de
    ${name: -3} 输出def

    这里需要注意的是,此时-与:之间有空格,目的是让shell区分${varname:-word}这种形式

    3 如果varname是*或者@,那么就是从第offset个position parameter开始,截取length个,如果不指定length,那么就一直截取到最后一个position parameter

    ${varname#pattern}

    从varname的开头开始匹配,然后删除最短的匹配项,将剩余的字符串返回

    ${varname##pattern}

    从varname的开头开始匹配,然后删除最长的匹配项,将剩余的字符串返回

    ${varname%pattern}

    从varname的末尾开始匹配,然后删除最短的匹配项,将剩余的字符串返回

    ${varnam%%pattern}

    从varname的末尾开始匹配,然后删除最长的匹配项,将剩余的字符串返回

    ${varname/pattern/string}

    将第一个最长的匹配项替换为string,若string为nil,则删除该匹配项

    ${varname//pattern/string}

    将所有最长的匹配项替换为string,若string为nil,则删除该匹配项

    在上面两种替换模式中,如果pattern以#开头,那么就是从varname开头进行匹配;如果varname为*或者@,那么替换就是依次对每一个position parameter进行。

  • 相关阅读:
    WebSphere--安全性
    WebSphere--会话跟踪
    WebSphere--用户简要表
    WebSphere--连接管理器
    WebSphere--部署Servlet
    WebSphere--定制配置
    WebSphere--安装与配置
    WebSphere--基本特性
    六、Html头部和元信息
    五、Html表单标签
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5723981.html
Copyright © 2020-2023  润新知