//對變量截取 ${variable} 對變量值的修正(增刪數據),僅僅修改輸出後的結果對源值,並不作修改 #變數後對接字符 # ## //截取從前面開始 % %% //截取從後面開始 / // //替換 [root@dzswj-test ~]# vbird="/home/vbird/testing/testing.x.sh" [root@dzswj-test ~]# [root@dzswj-test ~]#echo $vbird /home/vbird/testing/testing.x.sh #{variable#} //#從前面開始截取 #{variable##}變數名稱後面兩個##表示在 ##後面的字串取最長那一段;僅有一個# 表示取最小的那一段 [root@dzswj-test ~]#echo ${vbird##/*/} //刪除/*/中間的全部數據包括// ##所有刪除 testing.x.sh [root@dzswj-test ~]#echo ${vbird#/*/} //僅僅刪除第一次匹配的 #刪除第一次匹配的 vbird/testing/testing.x.sh #{variable%} //%從後面開始截取 #{variable%%}變數名稱後面兩個%%表示在 %%前面的字串取最長那一段;僅有一個# 表示取最小的那一段 [root@dzswj-test ~]#echo $vbird /home/vbird/testing/testing.x.sh [root@dzswj-test ~]#echo ${vbird%%/*} //從後面開始 * -->/ 最大匹配刪除,所以給刪完了 [root@dzswj-test ~]#echo ${vbird%/*} //最短刪除 /testing.x.sh /home/vbird/testing [root@dzswj-test ~]#echo ${vbird%/*/} //最後一個字符開始/而真實的是h /home/vbird/testing/testing.x.sh [root@dzswj-test ~]#echo ${vbird%/*h} //最短刪除後端h開頭 /home/vbird/testing [root@dzswj-test ~]# [root@dzswj-test ~]# [root@dzswj-test ~]#echo ${vbird%%/*h} //全量刪除,結尾--開頭 [root@dzswj-test ~]# [root@dzswj-test ~]#echo ${vbird%%/*/} //爲匹配到,所以未能刪除 /home/vbird/testing/testing.x.sh #變量截取替換字符 // / [root@dzswj-test ~]#echo ${vbird} /home/vbird/testing/testing.x.sh [root@dzswj-test ~]# [root@dzswj-test ~]# [root@dzswj-test ~]#echo ${vbird/testing/TEST} // /最前面匹配的替換 /home/vbird/TEST/testing.x.sh [root@dzswj-test ~]# [root@dzswj-test ~]#echo ${vbird//testing/TEST} // //全局匹配替換 /home/vbird/TEST/TEST.x.sh