1 获得shell脚本所在的绝对路径
CURRENT_DIR=$(cd $(dirname $0); pwd)
或者
CURRENT_DIR=$(cd `dirname $0`; pwd)
执行步骤解析:
-
dirname $0
: 取得当前执行的脚本文件所在的目录; -
cd
: 进入当前工作目录; -
pwd
: 显示当前工作目录; - 将当前工作目录输出给变量
CURRENT_DIR
。
2 获得shell脚本所在目录的父级目录的绝对路径
由于能1 获得shell脚本所在的绝对路径,那么同理,就可以获得脚本所在目录的父级目录的绝对路径。
PARENT_DIR=$(cd $(dirname $0);cd ..; pwd)
只是在pwd
命令之前添加了cd ..
到父级目录。
注意:
-
$()
与``作用一样,用于shell命令的执行。 -
dirname
: 显示最后一个结点前的路径;相对的,basename
: 显示最后一个结点的名称。 -
$0
: 脚本的路径名称,包含脚本本身的名称。