Linux Shell参数替换
2016-05-08 11:26
375 查看
Linux Shell参数替换
2013-06-03 10:01 by 轩脉刃, 1816 阅读, 0 评论, 收藏, 编辑Bash中的符号的作用是参数替换,将参数名替换为参数所代表的值。对于
来说,大括号是可选的,即A和
{A}代表同一个参数。
${}带冒号的有下面几种表达式:
${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的值的子字符串。可以理解下下面这几个例子:
${}带!有下面几种表达式:
${!prefix*}
${!prefix@}
将带有前缀为prefix的参数名打印出来${!name[@]}
${!name[*]}
这个是针对name数组的,打印出来name数组有哪些下标可以理解下下面这几个例子:
${}带正则匹配的几种表达式:
${parameter#word}
${parameter##word}
从头开始扫描word,将匹配word正则表达的字符过滤掉#为最短匹配,##为最长匹配
${parameter%word}
${parameter%%word}
从尾开始扫描word,将匹配word正则表达式的字符过滤掉%为最短匹配,%%为最长匹配
可以理解下面这几个例子:
${parameter/pattern/string}
${parameter//pattern/string}
将parameter对应值的pattern字符串替换成为string字符串/表示只替换一次
//表示全部替换
可以理解下面这几个例子:
相关文章推荐
- linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- [shell] awk
- shell中exec命令
- [shell] vim 设置
- [shell] 文本操作
- [shell] 基本规范
- 菜刀 ASP链接SHELL 抓包结果及分析
- Linux Shell文本处理命令技巧
- 快排,归并和Shell排序
- Linux中执行shell脚本的4种方法总结
- shell自动监控重启Tomcat脚本
- shell script 学习
- shell算术运算
- shell十三问总结
- makefile中的shell语法
- 关于获取shell脚本运行路径和本身绝对路径的记录
- Linux Shell字符串操作
- Linux Shell if条件判断
- Shell脚本定义变量和环境变量的引用
- xshell+xftp在Linux的tomcat下部署web项目