shell 經(jīng)常要對(duì)文件名進(jìn)行處理,比如去除路徑只保留文件名。
很方便的方法如下:
${varible#*string} 從左往右,刪除最短的一個(gè)以string結(jié)尾的子串,即截取第一個(gè)string子串之后的字符串
${varible##*string} 從左往右,刪除最長(zhǎng)的一個(gè)以string結(jié)尾的子串,即截取最后一個(gè)string子串之后的字符串
${varible%string*} 從右往左,刪除最短的一個(gè)以string開頭的子串,即截取最后一個(gè)string子串之前的字符串
${varible%%string*} 從右往左,刪除最長(zhǎng)的一個(gè)以string開頭的子串,即截取第一個(gè)string子串之前的字符串
總結(jié)起來(lái):從左向右#,從右向左%,*在哪刪除那。
另外也可以從固定位置截取。
${varible:start:len}:截取變量varible從位置start開始長(zhǎng)度為len的子串。第一個(gè)字符的位置為0。