- 论坛徽章:
- 0
|
本帖最后由 xiaowh00 于 2012-08-29 15:09 编辑
bash的帮助文档中,关于参数替换
`${PARAMETER^PATTERN}'
`${PARAMETER^^PATTERN}'
`${PARAMETER,PATTERN}'
`${PARAMETER,,PATTERN}'
This expansion modifies the case of alphabetic characters in
PARAMETER. The PATTERN is expanded to produce a pattern just as in
filename expansion. The `^' operator converts lowercase letters
matching PATTERN to uppercase; the `,' operator converts matching
uppercase letters to lowercase. The `^^' and `,,' expansions
convert each matched character in the expanded value; the `^' and
`,' expansions match and convert only the first character in the
expanded value.
^是将小写字母转换成大写字母,但是后面又说只转换开头的第一个字母
a=abcd
[root@localhost ~]# echo ${a^a}
Abcd
那PATTERN是模式的意义在哪里,不是只能转换第一个字母么,比如 ${a^a*c} 这个替换是啥意思呢,输出的结果是什么也没有改变
同理`${PARAMETER,PATTERN}'
还有就是${a^^a},是将所有的匹配都替换掉
a=aaabcd
[root@localhost ~]# echo ${a^a}
Aaabcd
[root@localhost ~]# echo ${a^^a}
AAAbcd
后面的PATTERN感觉只能是单个字符啊,如果是模式是什么意思呢
希望大神举例说明下用法,谢谢,英语水平一般 |
|