2017-08-11 156 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添加到初始脚本中的那些目录中,但您可以跟踪脚本的目录中的变量,如提高可读性的例子。