Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 计算目录相对于另一路径的路径,计算路径为绝对形式_Bash - Fatal编程技术网

Bash 计算目录相对于另一路径的路径,计算路径为绝对形式

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`

我有一个应用程序的目录结构: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 -
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类路径。