这篇文章主要介绍了Linux系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下
代码如下:
[root@http://www.doczj.com/doc/8b555ede52ea551811a6871e.html ]#basename /root/aaa/bbb/dabu.txt
显示:
代码如下:
dabu.txt #获取路径的文件名
shell脚本中如何获得脚本文件所在路径?
方法一:
代码如下:
[root@http://www.doczj.com/doc/8b555ede52ea551811a6871e.html ]#DIR=$(cd $(dirname $0); pwd)
[root@http://www.doczj.com/doc/8b555ede52ea551811a6871e.html ]#echo $DIR
但是像这种dirname $0这种写法,在遇到source命令时会得到错误的结果。
方法二:
代码如下:
[root@http://www.doczj.com/doc/8b555ede52ea551811a6871e.html ]#echo $( cd $( dirname ${BASH_SOURCE[0]} ) && pwd )
上面一行命令可以获得脚本的绝对轮径,无论你在何处调用这个脚本。
但是如果含有软链接,就无法使用了。所以,我们为了能正确解析指向脚本的软链接,可以使用下面的多行命令:
代码如下:
SOURCE=${BASH_SOURCE[0]}
while [ -h $SOURCE ]; do # resolve $SOURCE until the file is no longer a symlink
DIR=$( cd -P $( dirname $SOURCE ) && pwd )