shell编程时,引用相对路径的shell文件

同一目录下有两个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

猜你喜欢

转载自blog.csdn.net/xiaojin21cen/article/details/123817597