2017-08-11 207 views
0

我有這樣的bash腳本,我想調用的文件在同一目錄中刪除相對路徑。從bash腳本

我需要在正確的目錄經紗

回答

0

致電故宮腳本可以拿到劇本目錄的絕對路徑:

ABSOLUTE_PATH_OF_SCRIPT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 

這樣就可以避免cd到另一個在致電yarn build之前,腳本的目錄。一旦擁有絕對路徑,您可以將source呼叫轉換爲絕對呼叫,並刪除cd線路,例如,

source "$ABSOLUTE_PATH_OF_SCRIPT"/script/main 
source "$ABSOLUTE_PATH_OF_SCRIPT"/../../script/test 
cd "$ABSOLUTE_PATH_OF_SCRIPT"/../../packages/applicant 
yarn build 

儘管個人而言,相對路徑方法感覺更具可讀性。目前還不清楚source聲明的目的是什麼,並且取決於內部,他們可能會要求您實際上將cd添加到初始腳本中的那些目錄中,但您可以跟蹤腳本的目錄中的變量,如提高可讀性的例子。