在shell中,会有以下语句用于获取当前的路径:
CURRENT_DIR="$(cd "$(dirname "$0")"; pwd)"
其中的 $0表示添加到shell的第0个参数,dirname其实就是获取某个目录或文件的路径,例如:
$ dirname /etc/hosts
则
结果会返回文件hosts的上一层路径: /etc;如果是目录 /usr/bin/,则同理返回上一层路径 /usr。
但如果当前已经处于该目录下了,例如 /etc,则dirname则会返回一个点 “."表示正处于该目录。
dirname常用于获取当前路径:
以上命令 $(dirname "$0") 将返回该文件当前的上一层路径,通过cd到该路径,通过pwd获得当前路径,并保存到CURRENT_DIR中;
其中,"$(cmd")" 表示命令组,括号中的命令cmd将会新开一个shell顺序执行,其中的分号将两个命令:cd "$(dirname "$0")" 和pwd分开;