Bash shell 获取脚本路径

从一个shell(本文为/data/git_nlp/SY1792-EcoNLP/nlp_framework/rnn_text_classification/run.sh)调用另一个shell时,想要获得被调用shell(本文为/data/git_nlp/SY1792-EcoNLP/nlp_framework/function.sh)的绝对路径时,可以使用以下第1种方法:

当前脚本路径为 (pwd)

/data/git_nlp/SY1792-EcoNLP/nlp_framework/rnn_text_classification
  • 获取脚本文件所在绝对路径
# 写在被调用的shell(function.sh)中
DIR=$(cd `dirname $BASH_SOURCE`;pwd)
echo ${DIR}

输出

/data/git_nlp/SY1792-EcoNLP/nlp_framework
  • 获取当前运行脚本所在绝对路径
DIR=$(cd `dirname $0`;pwd)
echo ${DIR}

输出

/data/git_nlp/SY1792-EcoNLP/nlp_framework/rnn_text_classification

补充:

echo $BASH_SOURCE
echo $0

输出:

../function.sh
run.sh
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页