同一目录下有两个shell文件: xxutil.sh、main.sh。
普通情况下在 main.sh 中使用 xxutil.sh 内容如下:
main.sh :
source ./xxutil.sh
# ...
# ...
执行 命令 sh main.sh
, 正常,没有问题。
但是,如果 在其它目录下,使用绝对命令 执行 main.sh
时,会抛出: 找不到 xxutil.sh 文件的错误。
解决方法如下:
DIRNAME=$0
if [ "${DIRNAME:0:1}" = "/" ];then
CURDIR=`dirname $DIRNAME`
else
CURDIR="`pwd`"/"`dirname $DIRNAME`"
fi
#echo $CURDIR
source $CURDIR/xxutil.sh