编写Shell 脚本时,如果变量的值是一个路径的话,我们可以轻易的解析路径path信息,就像php中的pathinfo一样,来获取当中的路径(dirname) 或档名(basename).

变量		结果			说明
${path}		/usr/local/bin/emacs	原本值
${path#/*/}	local/bin/emacs		去除第一个资料夹
${path##/*/}	emacs			只取档名(basname)
${path%/*}	/usr/local/bin		只取路径(dirname)
${path:15}	emacs			取第15个字元后的所有字元
${path:10:4}	/bin			取第10个字元后的4 个字元

最后两个用法和Java 的subString 相同。