shell截取变量名

2019-07-29  本文已影响0人  SQUA2E

shell 经常要对文件名进行处理,比如去除路径只保留文件名。
很方便的方法如下:

${varible#*string}               从左往右,删除最短的一个以string结尾的子串,即截取第一个string子串之后的字符串
${varible##*string}             从左往右,删除最长的一个以string结尾的子串,即截取最后一个string子串之后的字符串
${varible%string*}              从右往左,删除最短的一个以string开头的子串,即截取最后一个string子串之前的字符串
${varible%%string*}          从右往左,删除最长的一个以string开头的子串,即截取第一个string子串之前的字符串

总结起来:从左向右#,从右向左%,*在哪删除那。

另外也可以从固定位置截取。

${varible:start:len}:截取变量varible从位置start开始长度为len的子串。第一个字符的位置为0。
上一篇 下一篇

猜你喜欢

热点阅读