我有一個應用程序的目錄結構:bin,config,lib。計算目錄相對於另一個路徑的路徑,其計算路徑爲絕對形式
在bin目錄中我有一個bash腳本。我希望能夠根據腳本文件在bin目錄中的位置在config目錄和lib目錄的bash腳本中設置變量。
BIN_DIR = 「$(CD -P 」$(目錄名稱 「$ {BASH_SOURCE [0]}」)「 & & PWD)」
:我可以爲腳本,由做執行得到的目錄名我的問題是:如何根據BIN_DIR計算config和lib目錄的模塊路徑?
謝謝。
我有一個應用程序的目錄結構:bin,config,lib。計算目錄相對於另一個路徑的路徑,其計算路徑爲絕對形式
在bin目錄中我有一個bash腳本。我希望能夠根據腳本文件在bin目錄中的位置在config目錄和lib目錄的bash腳本中設置變量。
BIN_DIR = 「$(CD -P 」$(目錄名稱 「$ {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
如果你有BIN_DIR
那麼你得到的絕對路徑與項目目錄:
PROJECT_DIR=`readlink -f $BIN_DIR/..`
然後
CONFIG_DIR=$PROJECT_DIR/config
LIB_DIR=$PROJECT_DIR/lib
+1:很好的使用readlink。 – 2012-03-09 14:14:28
這不給絕對路徑。它提供了/../config – John 2012-03-09 13:57:49
這樣的東西,在你沒提到的問題中,你正在尋找絕對路徑。 – vanje 2012-03-09 14:03:25
你實際上在標題中說'相對於另一條路徑'。請澄清。 – 2012-03-09 14:04:38