dirname ${BASH_SOURCE[0]}

自作多情 提交于 2020-03-27 15:25:59

3 月,跳不动了?>>>

例如在目录/root/aaa/bbb下,存在脚本文件test.sh, 脚本文件中存在这样一句话,

BD=`dirname ${BASH_SOURCE[0]} ` 

,意思就是说获取脚本文件test.sh所在目录的路径,但在不同目录下执行脚本test.sh,BD的值会有所不同。 1、在/root/aaa/bbb下,执行test.sh,BD的值为 . 2、在/root/aaa/下,执行test.sh,BD的值为./bbb 3、在/root下,执行test.sh,BD的值为./aaa/bbb 其中,BASH_SOURCE[0]代表脚本文件所在目录及文件名;dirname命令是获取文件所在目录。 如果脚本文件所在目录的绝对路径,可以结合pwd命令,具体如下所示:

BD=`dirname ${BASH_SOURCE[0]}`
cd $BD
BASEDIR=`pwd`

,BASEDIR即为脚本文件test.sh的绝对目录,也即是/root/aaa/bbb。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!