字符串操作
${#string}輸出字句的字符個數
${string:position:length}輸出$position開始的length長度的字符
${string:position}
[root@ilove scripts]# liuyifei="i like sanpan i like luo swimming" [root@ilove scripts]# echo ${#liuyifei} 33 [root@ilove scripts]# echo ${liuyifei:2:4} like [root@ilove scripts]# echo ${liuyifei:2} like sanpan i like luo swimming ====以上實測 ${string#substring}從string中從前往後檢索,只要匹配到字符就開始刪除最短匹配 ${string##substring}從頭匹配,開始最長刪除 ${string%substring}從結尾開始 ${string%%substring}從結尾開始,類似以上## ======以上必須必須從一開始就匹配上 [root@ilove scripts]# echo ${liuyifei#like} i like sanpan i like luo swimming [root@ilove scripts]# echo ${liuyifei#*like} sanpan i like luo swimming [root@ilove scripts]# echo ${liuyifei##*like} luo swimming [root@ilove scripts]# echo ${liuyifei%*like} i like sanpan i like luo swimming [root@ilove scripts]# echo ${liuyifei%like} i like sanpan i like luo swimming [root@ilove scripts]# echo ${liuyifei%like*} i like sanpan i [root@ilove scripts]# echo ${liuyifei%%like*} i
========================
${string/substring/replace}替換第一個遇到的匹配的字符
${string/#substring/replace}前綴匹配,必須全部匹配上,替換一長條
${string/%substring/replace}從後往前,替換最後一個遇到的匹配字符,必須全部匹配
[root@ilove scripts]# echo ${liuyifei/like/love}
i love sanpan i like luo swimming
[root@ilove scripts]# echo ${liuyifei/#*like/love}
love luo swimming
[root@ilove scripts]# echo ${liuyifei/%like*/love}
i love
個人總結:在shell變量操作中 出現# % 就必須一直予以匹配才能進行相關操作