2017-08-11 11 views
0

私は同じディレクトリにファイルを呼び出すしたいと思い、このbashスクリプトを持っているから相対パスを削除します。はbashスクリプト

私はあなたがしてスクリプトディレクトリの絶対パスを取得することができ、糸

答えて

0

経由NPMスクリプトを呼び出すために右のディレクトリにする必要があります

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が必要になる場合がありますが、このような変数でスクリプトのディレクトリを追跡できます読みやすさを改善するための例。