zoukankan      html  css  js  c++  java
  • 【转】bash 参数展开(Parameter Expansion)

    转自:http://www.360doc.com/content/13/0513/20/9437165_285204629.shtml

    1. ${parameter} 取parameter的值
    2. ${parameter:-word} 如果parameter为空,则用word的值做parameter的缺省值
    3. ${parameter:=word} 在2的基础上,把word的值赋给parameter
    4. ${parameter?=word} 如果parameter为空,word作为错误信息输出。
    5. ${parameter+=word} 在parameter不为空的情况下,输出word的值。
    6. ${parameter:offset} parameter的从第offset个字符开始的substring
      ${parameter:offset:length} parameter的从第offset个字符开始的,长度为length的substring
    7. ${!prefix*} 所有的以prefix开始的变量名的展开,由IFS
    8. 分隔(参考http://smilejay.com/2011/12/bash_ifs/)${!prefix@}
    9. ${!name[@]} //// ${!name[*]}
      如果name为一个数组变量,那么结果是该数组的所有下标的列表。如果name不是数组,那么,如果name为空,结果就为空,如果name不为空,结果就为0.
    10. ${#parameter} 取parameter的长度为值
    11. ${parameter#word} 最短匹配////${parameter##word} 最长匹配
      在这里word是一个模式(pattern), 如果parameter的开始匹配word模式,那么第一个的结果是最短匹配,第二个的结果是最长匹配
    12. ${parameter%word} 最短匹配////${parameter%%word} 最长匹配
      在这里word也是一个模式,如果parameter的结尾匹配word模式,那么第一个的结果是最短匹配,第二个的结果是最长匹配
    13. ${parameter/pattern/string}   ${parameter//pattern/string}
      在这里pattern也是一个模式,parameter展开后最长匹配的部分被string替换。第一种情况只替换首次匹配,第二种情况替换所有匹配。
  • 相关阅读:
    人月神话阅读笔记之二
    人月神话阅读笔记之三
    人月神话阅读笔记之一
    清楚浮动的10种方法
    WEB颜色值得设定
    文件上传 FileReader()
    Git学习笔记(三)
    Git学习使用笔记(二)
    Git使用学习笔记 (一)
    小知识点(JS)
  • 原文地址:https://www.cnblogs.com/dorothychai/p/6214831.html
Copyright © 2011-2022 走看看