您的位置:首页 > 运维架构 > Linux

linux变量替换、字符串操作

2016-01-13 17:07 330 查看
${变量名称#匹配字符}若变量内容从开始被匹配字符匹配到,刚从变量内容的左边开删除,但删除匹配最短的
${变量名称##匹配字符}若变量内容从开始被匹配字符匹配到,刚从变量内容的左边开删除,但删除匹配最长的。
${变量名称%匹配字符}若变量内容从尾到前被匹配字符匹配到,刚从变量内容的尾部开始删除,但删除匹配最短的
${变量名称%%匹配字符}若变量内容从尾到前被匹配字符匹配到,刚从变量内容的尾部开始删除,但删除匹配最短的
${变量称/旧字符串/新字符串}从变量内容的左边开始匹配,用新字符串替换旧字符串,仅替换第一个匹配到的字符串
${变量称//旧字符串/新字符串}从变量内容的左边开始匹配,用新字符串替换旧字符串,全部替换匹配到的字符串
例子:声明一个变量为value并给value赋值root:x:0:0:root:/root:/bin/bash value=root:x:0:0:root:/root:/bin/bash echo ${value#*/} 从开始到第一个/前所有内容删除*为通配符)过程root:x:0:0:root:/root:/bin/bash结果root:/bin/bashecho ${value##*/} 从开始到最后一个/前的内容删除过程root:x:0:0:root:/root:/bin/bash结果bashecho ${value%/*} 从变量尾部向前,匹配第一个/的内容删除过程root:x:0:0:root:/root:/bin/bash结果root:x:0:0:root:/root:/bin echo ${value%%/*} 从变量尾部向前,匹配最后一个/之前的内容删除过程root:x:0:0:root:/root:/bin/bash结果root:x:0:0:root:echo ${value/root/test}过程root:x:0:0:root:/root:/bin/bash 第一个root将被test替换结果test:x:0:0:root:/root:/bin/bashecho ${value//root/test}过程root:x:0:0:root:/root:/bin/bash 所有root将被test替换结果test:x:0:0: test:/ test:/bin/bash
${#string}字符串长度
${string: 起始位}从字符串起始位开始截取字符串
${string:起始位:lenght}
从字符串起始位开始截取长度为lenght的字符串








${变量-默认值}如果变量没有被声明, 那么就以默认值作为其值
${变量:-默认值}如果变量没有被声明, 或者其值为空, 那么就以默认值作为其值
${变量=默认值}如果变量没有被声明, 那么就以默认值作为其值并且变量被赋值为默认值
${变量:=默认值}如果var没有被声明, 或者其值为空, 那么就以默认值作为其值并且变量被赋值为默认值
${变量+默认值}如果变量声明了, 那么其值就是默认值, 否则就为null字符串
${变量:+默认值}如果变量被设置了, 那么其值就是默认值, 否则就为null字符串
${变量?错误信息}如果变量没被声明, 那么就打印错误信息
${变量:?错误信息}如果变量没被设置, 那么就打印错误信息











本文出自 “请你给我一把刀” 博客,请务必保留此出处http://lulucao2006.blog.51cto.com/5375246/1734696
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: