我有一个应用程序的目录结构:bin,config,lib。
在bin目录中,我有一个bash脚本。我希望能够根据bin目录中脚本文件的位置在bash脚本中为config和lib目录设置变量。我可以通过执行以下操作获取正在执行的脚本的目录名称:
BIN_DIR =“$(cd -P”$(dirname“$ {BASH_SOURCE [0]}”)“&& pwd)”
我的问题是:如何根据BIN_DIR计算config和lib目录的行为路径?
感谢。
答案 0 :(得分:3)
您可以使用它:
cd `dirname $0`/..
BASE_DIR=`pwd`
cd -
BIN_DIR=${BASE_DIR}/bin
CONFIG_DIR=${BASE_DIR}/config
LIB_DIR=${BASE_DIR}/lib
答案 1 :(得分:2)
如果您有BIN_DIR
,那么您将获得项目目录的绝对路径:
PROJECT_DIR=`readlink -f $BIN_DIR/..`
然后
CONFIG_DIR=$PROJECT_DIR/config
LIB_DIR=$PROJECT_DIR/lib