${#string} 返回$string的长度
${string:position} 在$string中,从位置$position之后开始提取子串
$(string:position:length) 在$string中,从位置$position之后开始提取长度为$length的子串
${string#substring} 从变量$string开头开始删除最短匹配$substring子串
$(string##substring) 从变量$string开头开始删除最长匹配$substring子串
${string%substring} 从变量$string结尾开始删除最短匹配$substring子串
${string%%substring} 从变量$string结尾开始删除最长匹配$substring子串
${string/substring/replace} 使用$replace,来代替第一个匹配的$substring
${string/#substring/replace} 如果$string前缀匹配$substring,就用$replace来代替匹配$substring
依次举例说明:
定义xcn变量,内容为“i am xcn”
[root@XCN ~]# xcn="i am xcn" [root@XCN ~]# echo ${xcn} i am xcn
1)返回字符串xcn变量字符串的长度
[root@XCN ~]# echo ${#xcn} 8
思路 : echo $xcn|wc -m
[root@XCN ~]# echo $xcn|wc -L 8
2)截取xcn变量字符串从第2个字符之后开始截取,默认取后面字符的全部,第2个字符不包含在内。也可理解为删除前面的多少个字符。
[root@XCN ~]# echo ${xcn:2} am xcn
3)截取xcn变量字符串从第2个字符之后开始取,取两个字符
[root@XCN ~]# echo ${xcn:2:2} am 提示:类似cut -c参数 [root@XCN ~]# echo ${xcn}|cut -c 1-4 i am [root@XCN ~]# echo ${xcn}|cut -c 3-4 am
4)从变量$xcn开头开始删除最短匹配"i am"子串
[root@XCN ~]# echo ${xcn#i am} xcn
5)从变量$xcn开头开始删除最长匹配"i am old"子串
[root@XCN ~]# echo ${xcn##i am x} cn
6)从变量$xcn结尾开始删除最短匹配xcn子串
[root@XCN ~]# echo ${xcn%xcn} i am [root@XCN ~]# echo ${xcn#i am} xcn
7)从变量$xcn结尾开始删除最长匹配boy子串
[root@XCN ~]# echo ${xcn%%xcn} i am
8)使用baishuchao字符串,来替换变量xcn第一个匹配的xcn字符串
[root@XCN ~]# echo ${xcn/xcn/baishuchao} i am baishuchao
10)使用he is 字符串,来代替从变量$xcn开头开始匹配的i am字符串
[root@XCN ~]# echo ${xcn/#i am/he is} he is xcn 提示:统一规律 #从开头开始 ,%从结尾开始
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。