#dirname介绍
当对文件使用dirname时,返回文件的上级目录,输出是否是绝对路径取决于输入的文件名是绝对路径
如果对目录使用,则返回上级目录
basename命令与dirname相反,读取文件名或最后一级目录名
#dirname的用法
dirname命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个命令很少直接在shell命令行中使用,我一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。
cd `dirname $0`
如果想获取脚本文件的所在的绝对路径,则可以
cd `dirname $0`
path=`pwd`
#截取路径的其他做法
path=/home/sakura/test.sh
则{path%/*.*}=/home/sakura
其中%表示从path末尾开始匹配,将最短匹配部分删除,其他类似用法如下
{path%%xxx} 从尾开始,最长匹配删除
{path#xxx} 从头开始,最短匹配删除
{path##xxx} 从头开始 最长匹配删除
例如{path##/*/}=test.sh
ps: *在这里是通配符,表示任意字符或字符串,不是正则里的*