shell脚本获取当前目录的绝对路径

if [ "/" != ${0:0:1} ];then
        fileCurrent=$(pwd)/$0
else
        fileCurrent=$0
fi
#有些情况会有这样的路径/root/ares/./test.sh
fileCurrent=${fileCurrent/\/\.\//}
dirCurrent=${fileCurrent/\/\.}
dirCurrent=${dirCurrent%/*}

脚本可以以任何方式执行,例如:
/root/ares/test.sh
cd /root/ares && ./test.sh
cd /root && ares/test.sh

如果脚本是一个软链的话路径是软链的位置。

另外一种方式:

#!/bin/bash
dir=$(cd $(dirname ${BASH_SOURCE:-$0});pwd)

 

发表评论

电子邮件地址不会被公开。

*