当前工作目录和脚本文件所在目录是不同的,有时候可能会一样,但是这是不同的概念。
例如我们有个脚本:/home/test/test.sh
我们进入test目录:cd /home/test/,执行./test,那么当前工作目录和脚本文件所在目录都是一样的:/home/test
如果我们不是在test目录下执行脚本文件:cd /home,执行./test/test.sh,那么当前工作目录是:/home,而脚本文件所在目录还是:/home/test
总结:
1. 获取当前工作目录:
$(pwd)
英文意思为:print name of current/working directory
2. 获取脚本文件所在目录:
$(cd `dirname $0`; pwd)
先使用dirname获得脚本的父目录,然后cd进入,在执行pwd