--app
--bin
--start.sh
--log
--target
项目结构如下,通过start.sh
启动服务。现需要在start.sh
中获取项目的根路径。
下面主要用到BASH_SOURCE变量
和dirname命令
第一步:获取bin目录
$(dirname ${BASH_SOURCE[0]})
第二步:进入app目录
cd $(dirname ${BASH_SOURCE[0]})/..
第三步:使用pwd命令显示当前目录,并用替换名称赋值给APP_NAME
APP_HOME=$(cd $(dirname ${BASH_SOURCE[0]})/..; pwd)
BASH_SOURCE,环境变量,表示含有当前正在执行的shell函数所在的原文件名数组变量。
例如:${BASH_SOURCE[0]}表示的是用户所在的目录到脚本的路径