格式1:${var#pattern}

把pattern與var變數值做比對時,是從var變數值的前面部分比對起,如果有符合之處,就刪除變數值中最短的部分,並傳回其餘的變數值。

[centos@~]$ var=/home/snoopy/dir/file
[centos@~]$ echo ${var#/*/}
--------------------------------------------
snoopy/dir/file
-------------------------------------------- 

 

格式2:${var##pattern}

把pattern與var變數值做比對時,是從var變數值的前面部分比對起,如果有符合之處,就刪除變數值中最長的部分,並傳回其餘的變數值。

[centos@~]$ var=/home/snoopy/dir/file
[centos@~]$ echo ${var##/*/}
--------------------------------------------
file
-------------------------------------------- 

 

格式3:${var%pattern}

把 pattern 與 var 變數值做比對時,是從 var 變數值的後面部分比對起,如果有符合之處,就刪除變數值中最短的部分,並傳回其餘的變數值。

[centos@~]$ var=/home/snoopy/dir/
[centos@~]$ echo ${var%/*/}
--------------------------------------------
/home/snoopy
-------------------------------------------- 

 

格式4:${var%%pattern}

把 pattern 與 var 變數值做比對時,是從 var 變數值的後面部分比對起,如果有符合之處,就刪除變數值中最長的部分,並傳回其餘的變數值。

[centos@~]$ var=/home/snoopy/test.tar.gz
[centos@~]$ echo ${var%%.*}
--------------------------------------------
/home/snoopy/test
-------------------------------------------- 

 

格式5:${var/pat1/pat2}

若變數值中含有pat1,就將第一個pat1用pat2作替代 。

[centos@~]$ var=/home/snoopy/snoopydir/snoopyfile
[centos@~]$ echo ${var/snoopy/boy}
--------------------------------------------
/home/boy/snoopydir/snoopyfile
-------------------------------------------- 

 

格式6:${var//pat1/pat2}

若變數值中含有 pat1,就將全部的pat1用pat2作替代 。

[centos@~]$ var=/home/snoopy/snoopydir/snoopyfile
[centos@~]$ echo ${var//snoopy/boy}
--------------------------------------------
/home/boy/boydir/boyfile
-------------------------------------------- 

 

以上資料來源出自:http://www.suse.url.tw/sles10/lesson10.htm

dreamtails 發表在 痞客邦 PIXNET 留言(0) 人氣()