Bash 计算目录相对于另一路径的路径,计算路径为绝对形式
我有一个应用程序的目录结构:bin、config、lib 在bin目录中,我有一个bash脚本。我希望能够根据脚本文件在bin目录中的位置,在bash脚本中为config和lib目录设置变量。我可以通过执行以下操作获取正在执行的脚本的目录名: BIN_DIR=$cd-p$dirname${BASH_SOURCE[0]}&&pwd 我的问题是:如何根据BIN_DIR计算config和lib目录的目录路径Bash 计算目录相对于另一路径的路径,计算路径为绝对形式,bash,Bash,我有一个应用程序的目录结构:bin、config、lib 在bin目录中,我有一个bash脚本。我希望能够根据脚本文件在bin目录中的位置,在bash脚本中为config和lib目录设置变量。我可以通过执行以下操作获取正在执行的脚本的目录名: BIN_DIR=$cd-p$dirname${BASH_SOURCE[0]}&&pwd 我的问题是:如何根据BIN_DIR计算config和lib目录的目录路径 谢谢。您可以使用以下功能: cd `dirname $0`/.. BASE_DIR=`pwd`
谢谢。您可以使用以下功能:
cd `dirname $0`/..
BASE_DIR=`pwd`
cd -
BIN_DIR=${BASE_DIR}/bin
CONFIG_DIR=${BASE_DIR}/config
LIB_DIR=${BASE_DIR}/lib
您可以使用以下方法:
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
如果您有BIN_DIR,则可以通过以下方式获得项目目录的绝对路径:
PROJECT_DIR=`readlink -f $BIN_DIR/..`
然后
CONFIG_DIR=$PROJECT_DIR/config
LIB_DIR=$PROJECT_DIR/lib
这并没有给出绝对路径。它给出了类似/./configHm的东西,在你没有提到的问题中,你在寻找绝对路径。你在标题中实际上说了“相对于另一条路径”。请澄清,谢谢爱德华多。我只是附和了这个结果,看起来它给了我我所需要的。我将把它合并到我的原始脚本中来设置Java类路径。这并没有给出绝对路径。它给出了类似/./configHm的东西,在你没有提到的问题中,你在寻找绝对路径。你在标题中实际上说了“相对于另一条路径”。请澄清,谢谢爱德华多。我只是附和了这个结果,看起来它给了我我所需要的。我将把它合并到我的原始脚本中,以设置Java类路径。