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