shell里怎样将一个相对路径的地址转换成绝对路径地址?

linux shell by Xudong Zhang @ 2016-10-11 23:29:04

在写shell脚本的时候,比如变量LOCATION是一个相对的路径,如.或者../git这类的,怎么将它转换成一个绝对路径呢?


在linux上可以用realpath ../git来获取绝对路径

LOCATION=$(realpath $PROJECT_DIR)

但是mac上没有realpath命令,可以写个简单的function解决(利用pwd命令返回决定路径这一特点)

realpath() {
  echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")";
}

LOCATION=$(realpath $PROJECT_DIR)
by Xudong Zhang @2016-10-15 14:42:50.328 +0800 CST


我来回答

Markdown格式技巧

  • 行尾添加2个空格或者添加一个空行就能换行
  • 斜体: *hello* 或者 _world_
  • 加粗: **hello** 或者 __world__
  • 代码块: 添加空行,然后代码缩进4个空格
  • 特殊字符: 用\避免转义;\*就是*本身
  • python: `__name__`可以以代码形式输出__name__
  • 一个简单的例子

切换到移动版