From: http://www.cnblogs.com/yjf512/archive/2013/06/03/3114803.html

Bash中的$符号的作用是参数替换,将参数名替换为参数所代表的值。对于$来说,大括号是可选的,即$A和${A}代表同一个参数。

1、${}带冒号的有下面几种表达式:

${parameter:-word}

如果parameter为null或者未设置,整个参数替换表达式值为word

${parameter:=word}

如果parameter为null或者未设置,整个参数替换表达式值为word,并且parameter参数值设置为word

${parameter:?word}

如果parameter为null或者未设置,则打印出错误信息。否则,整个参数替换表达式值为$parameter

${parameter:+word}

如果parameter不为null或者未设置,则整个参数替换表达式值为word

${parameter:offset}

${parameter:offset:length}

parameter的值的子字符串。

可以理解下下面这几个例子:

2、${}带!有下面几种表达式:

${!prefix*}

${!prefix@}

将带有前缀为prefix的参数名打印出来

${!name[@]}

${!name[*]}

这个是针对name数组的,打印出来name数组有哪些下标

可以理解下下面这几个例子:

3、${}带正则匹配的几种表达式:

${parameter#word}

${parameter##word}

从头开始扫描word,将匹配word正则表达的字符过滤掉

#为最短匹配,##为最长匹配

${parameter%word}

${parameter%%word}

从尾开始扫描word,将匹配word正则表达式的字符过滤掉

%为最短匹配,%%为最长匹配

可以理解下面这几个例子:

${parameter/pattern/string}

${parameter//pattern/string}

将parameter对应值的pattern字符串替换成为string字符串

/表示只替换一次

//表示全部替换

可以理解下面这几个例子:

转载于:https://www.cnblogs.com/nliao/p/3323998.html

Shell_参数替换(転)相关推荐

  1. shell 中的参数替换

    今天碰到个shell script看了下,发现参数替换是在不懂,google了下,把笔记总结如下:  可替换的参数:处理或/并扩展变量 ${parameter} 和$parameter是相同的,都是表 ...

  2. shell参数替换之##%%

    ${var#Pattern}, ${var##Pattern} 从$var 开头删除最近或最远匹配$Pattern 的子串. 来自 Example A-7 例子的一部分. 1 # 来自"da ...

  3. excel模板中参数替换

    1.准备好Excel模板如图 2.代码实现参数替换 主要代码 private static void generatePaymentNoticeSheet( final XSSFWorkbook wo ...

  4. python 正则式替换_python 正则表达式参数替换实例详解

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

  5. in sqlite 转换_用参数替换SQLite“IN”claus

    我正在尝试对IN子句使用带SQLite within Python的参数替换.下面是一个完整的运行示例,演示了:import sqlite3 c = sqlite3.connect(":me ...

  6. java配置文件变量替换_SpringBoot 配置文件application.properties配置参数替换或者注入的几种方式...

    想要忽略properties中的某些属性,引发的对SpringBoot中的application.properties外部注入覆盖,以及properties文件使用的思考. SpringBoot 配置 ...

  7. Java poi XWPFDocument 操作2007Word,实现参数替换、新增 插入 替换 表格数据、创建饼状图、柱形图、折线图

    工作中经常会用到 Apache POI去操作Word文档,自己整理了一个工具类,简单实用,其中包含了新建标题.段落.表格.饼图.柱形图.折线图等方法.先上效果图 在pom文件中引入依赖 <dep ...

  8. java正则表达式参数替换,正则表达式替换(String对象的replace)方法笔记

    String对象的replace方法 参数 relpace( [ reg | string ], [ string | function ] ) 第一个参数表示执行匹配的正则表达式,也可以传递字符串 ...

  9. python正则表达式处理txt,python 正则表达式参数替换实例详解 python使用正则表达式替换txt内容...

    Python正则表达式如何进行字符串替换实例 import res = 'adds23dd56'ss = re.sub(r'\d', '*', s)>>> ss'adds**dd** ...

最新文章

  1. Ti公司DSP的DSK、EVM、DDK的区别
  2. Flutter开发之ListView使用第三方flutter_refresh加载更多(37)
  3. Hyperledger Fabric Rest API服务开发教程【含源码】
  4. POJ 2135 Farm Tour (费用流)
  5. 第十章:Java_IO流
  6. java 文件解析异常_java中异常的解析
  7. Dottext.Web.UI.Handlers.BlogExistingPageHandler
  8. redhat 5.4 yum配置
  9. apply和call的区别
  10. Flink State - Backend Improvements and Evolution in 2021
  11. 海量数据高并发的解决方案
  12. oracle中sqldrunl结尾符号,oracle笔记(韩顺平oracle视频教学整理)
  13. 【交叉/综合/新兴】 2019年-中国计算机学会推荐国际学术会议和期刊目录(十)
  14. vb.net教程 3-1 窗体编程基础 1
  15. Blender建模练习:人物模型多边形建模流程图解(二形体调整篇)
  16. AD9173/AD9689 FMC采集板卡调试记录
  17. win7计算机开机黑屏解决办法参考
  18. 团队作业8----第二次项目冲刺(Beta阶段) 第三天
  19. 为什么穷人越穷,富人越富?
  20. 关于调用第三方sdk

热门文章

  1. BZOJ 1646: [Usaco2007 Open]Catch That Cow
  2. ::before 和 ::after 伪元素用法
  3. 对虚拟目录的操作(转)
  4. CMD不能显示中文解决方案
  5. JS 取得当前时间日期
  6. 中国高铁站,为什么离市区这么远
  7. 秒杀奥斯卡的“第四块广告牌”就在你身边!
  8. 8000字干货扫除你的焦虑!3点钟无眠区块链群聊最全精华
  9. CANOpen数据存档文件
  10. 新来的大神用策略模式把if else给优化了,技术总监说:能不能想好了再改?...