zoukankan      html  css  js  c++  java
  • shell参数扩展${}

    shell参数扩展:
    
    ${parameter:-word}
    如果parameter为null或者未设置,整个参数替换表达式值为word
    
    ${parameter:=word}
    如果parameter为null或者未设置,整个参数替换表达式值为word,并且parameter参数值设置为word
    
    ${parameter:?word}
    如果parameter为null或者未设置,则打印出错误信息。否则,整个参数替换表达式值为$parameter
    
    ${parameter:+word}
    如果parameter不为null或者未设置,则整个参数替换表达式值为word
    
    上面4种可以用来进行缺省值的替换。
    
    ${#parameter} 上面这种可以获得字符串的长度。 ${parameter%word} ${parameter%%word} 从尾开始扫描word,将匹配word正则表达式的字符过滤掉 %为最短匹配,%%为最长匹配 ${parameter#word} ${parameter##word} 从头开始扫描word,将匹配word正则表达的字符过滤掉 #为最短匹配,##为最长匹配 上面4个用来截取字符串的方法。
    ${parameter:offset}从offset到结束 ${parameter:offset:length}从offset开始截取n个 以上是截取parameter的值的子字符串。 ${!prefix*} ${!prefix@} 将带有前缀为prefix的参数名打印出来 ${!name[@]} ${!name[*]} 这个是针对name数组的,打印出来name数组有哪些下标
    ${parameter/pattern/string} ${parameter//pattern/string} 将parameter对应值的pattern字符串替换成为string字符串 /表示只替换一次 //表示全部替换
  • 相关阅读:
    修改数据库的兼容级别
    如何写出安全的API接口
    最新IP地址数据库
    java 中的静态(static)代码块
    Java RTTI(类型信息)(.class 类对象)
    机器学习之决策树预测——泰坦尼克号乘客数据实例
    敏捷开发 —— TDD(测试驱动开发)
    Java 内存泄漏
    红顶商人 —— 胡雪岩
    各地特色美食与点菜的艺术
  • 原文地址:https://www.cnblogs.com/jjzd/p/6515242.html
Copyright © 2011-2022 走看看