Shell_参数替换(転)
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字符串
/表示只替换一次
//表示全部替换
可以理解下面这几个例子:

Shell_参数替换(転)的更多相关文章
- .net mvc RazorEngine 字符串razor参数替换
在.net中有一个比较好的字符串参数替换的方案RazorEngine推荐大家看看原网站,然后做个小联系然后你就懂啦 首先呢得下载一个吧, vs中tools-> Library Paging Ma ...
- Python巧用正则表达式,完成接口参数替换
最近给Python11期的小朋友们上课,遇到了一个参数替换的问题,首先描述下场景: 需要参数化的数据如下所示: 这个时候如果利用单纯的if判断和字符串的find和replace方法,做起来是非常不明智 ...
- Linux Shell参数替换
Linux Shell参数替换 2013-06-03 10:01 by 轩脉刃, 1816 阅读, 0 评论, 收藏, 编辑 Bash中的符号的作用是参数替换,将参数名替换为参数所代表的值.对于 来说 ...
- python_接口自动化测试_处理参数替换
在进行自动化测试时,通常会存在A接口用例的返回值是B接口用例的入参这样的情况 可进行如下方式处理: step1.处理A用例时,在响应结果中提取出该数据的值,并赋给一变量,比如 exeId = res. ...
- 反向解析 参数替换 reverse
- 【解决了一个小问题】golang xorm中使用where id in (xxx),没办法使用参数替换
代码中使用XORM来从数据库查询数据,有类似如下的代码: session.Where("id in (?)", strings,Join(arr, ",")) ...
- JS替换URL中参数示例
<script type="text/javascript"> var url = window.location.href; url = changeURLArg(u ...
- python使用String的Template进行参数动态替换
1.前言: 之前使用string的find(),从指定的param里面查找,是否包含了某个字符,有的话,使用replace进行替换,一个接口的param要替换的参数少的话,使用这种方式,的确可行,如果 ...
- LoadRunner参数更新方法和数据分配
参数化的定义:使用指定的数据源中的值来替换脚本录制生成的语句中的参数. 对Vuser脚本进行参数化的好处: 1.减小脚本的大小 2.提供了使用不同的脚本的值执行脚本的能力 参数化涉及两个任务: 1.用 ...
随机推荐
- 导出带图形的数据excel表
public static string StatisticsSR(string parmStr) { try { StatisticsSRInfo parm = JsonConvert.Deseri ...
- IOS 取消表格单元格 TableViewCell 去掉高亮状态 点击Cell取消选择状态
以下是两种实现效果 1. 自定义cell 继承UITableViewCell 重写 -(void)setSelected:(BOOL)selected animated:(BOOL)animated ...
- Windows 托盘区域显示图标
NOTIFYICONDATA structure 这个结构体包含了向通知区域(底部任务栏右下角区域,下面都称为托盘)显示的信息.需要使用函数Shell_NotifyIcon. 结构体成员 typede ...
- Spark 个人实战系列(2)--Spark 服务脚本分析
前言: spark最近非常的火热, 本文不讲spark原理, 而是研究spark集群搭建和服务的脚本是如何编写的, 管中窥豹, 希望从运行脚本的角度去理解spark集群. 研究的spark为1.0.1 ...
- POJ 1837 DP
一开始看到这个题 第一反应:暴搜! 看看数据范围 ...放弃了 然后就在各种憋状态转移方程. 各种不会 还是看了Discuss里面说的才有点儿思路 直接放状态转移方程: f[i][ j+ w[i]*c ...
- AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;
js做日期选择: 实现当前年份的前5后5年的日期选择 实现功能:年份和月份页面加载完成使用JS循环添加,天数根据月份的变化动态添加改变 扩展功能:天数可以根据闰年平年变化 <body> & ...
- Python scikit-learn机器学习工具包学习笔记:feature_selection模块
sklearn.feature_selection模块的作用是feature selection,而不是feature extraction. Univariate feature selecti ...
- Sea.js学习1——初识Sea.js
Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单.极致的模块化开发体验. 使用 Sea.js,在书写文件时,需要遵守 CMD (Common Module Definition)模块定 ...
- 类似于C# using() java 语法
From : https://www.infoq.com/news/2010/08/arm-blocks try(Jedis jedis = jedisPool.getResource()){ S ...
- Android分享中,如何过滤指定的应用,并且对不同的分享方式发送不同的内容?
网上找到的一篇关于: 针对不同的应用,使用不同的方式的文章.原文地址 String contentDetails = ""; String contentBrief = " ...