环境变量的删除与替换

[root@rhel6-server ~]# echo ${MAIL} #输出MAIL环境变量
/var/spool/mail/root
[root@rhel6-server ~]# echo ${MAIL#
/*/} #从前面开始,匹配以/开头且以/结束的最短字符串,找到后删除
spool/mail/root
[root@rhel6-server ~]# echo ${MAIL##
/*/} #从前面开始,匹配以/开头且以/结束的最长字符串,找到后删除
root
[root@rhel6-server ~]# echo ${MAIL%/*/} #从后面开始,匹配以/开头且以/结束的最字符串,找到后删除
/var/spool/mail/root
[root@rhel6-server ~]# echo ${MAIL%/*} #从后面开始,匹配以任意字符开头且以/结束的最字符串,找到后删除
/var/spool/mail
[root@rhel6-server ~]# echo ${MAIL%%/*} #从后面开始,匹配以任意字符开头且以/结束的最字符串,找到后删除

[root@rhel6-server ~]# echo ${MAIL%%l*} #从后面开始,匹配以任意字符开头且以l结束的最字符串,找到后删除
/var/spoo
[root@rhel6-server ~]# echo ${MAIL/l/L} #从前面开始,匹配第一个l,找到后替换为L
/var/spooL/mail/root
[root@rhel6-server ~]# echo ${MAIL//l/L} #从前面开始,匹配所有l,找到后替换为L
/var/spooL/maiL/root
[root@rhel6-server ~]# echo ${MAIL/oo/OO} #从前面开始,匹配第一个oo,找到后替换为OO
/var/spOOl/mail/root
[root@rhel6-server ~]# echo ${MAIL//oo/OO} #从前面开始,匹配所有oo,找到后替换为OO
/var/spOOl/mail/rOOt


总结:

# 从前面开始删,匹配最短匹配的字符串

## 从前面开始删,匹配最长匹配的字符串

% 从后面开始删,匹配最短匹配的字符串

%% 从后面开始删,匹配最长匹配的字符串

/ 替换第一个匹配的字符串

// 替换所有匹配的字符串



REF:

變數內容的刪除、取代與替換

http://linux.vbird.org/linux_basic/0320bash.php#variable_other

posted @ 2012-03-06 20:25  生活不是用来挥霍的  阅读(420)  评论(0编辑  收藏  举报