计算目录相对于另一路径的路径,其中所计算的路径是绝对形式的

  • 本文关键字:路径 计算 相对于 bash
  • 更新时间 :
  • 英文 :


我有一个应用程序的目录结构:bin、config、lib。

在bin目录中,我有一个bash脚本。我希望能够根据脚本文件在bin目录中的位置,在bash脚本中为config和lib目录设置变量。我可以通过以下操作获得正在执行的脚本的目录名:

BIN_DIR="$(cd-p"$(目录名"${BASH_SOURCE[0]}")"&&pwd)"

我的问题是:如何根据BIN_DIR计算config和lib目录的diectory路径?

谢谢。

您可能只需要使用以下内容:

cd `dirname $0`/..
BASE_DIR=`pwd`
cd -
BIN_DIR=${BASE_DIR}/bin
CONFIG_DIR=${BASE_DIR}/config
LIB_DIR=${BASE_DIR}/lib

如果您有BIN_DIR,那么您可以使用获得项目目录的绝对路径

PROJECT_DIR=`readlink -f $BIN_DIR/..`

然后

CONFIG_DIR=$PROJECT_DIR/config
LIB_DIR=$PROJECT_DIR/lib

最新更新