如何在Linux shell脚本的命令行中从“../”获取完整路径

时间:2011-10-24 15:08:47

标签: linux shell

如果我有一个shell脚本,我使用“../”获取父文件夹,我可以将它扩展到它的绝对路径吗?

4 个答案:

答案 0 :(得分:25)

您想要readlink -f

$ cd /tmp
$ readlink -f ..
/

答案 1 :(得分:4)

使用realpath

$ realpath ..
/home

答案 2 :(得分:1)

虽然您经常可以使用stat获取目录的完整路径,但您也可以使用pwd -P ...但是,除非您实际cd,否则它没有多大帮助您感兴趣的目录。

要在不实际更改当前工作目录的情况下解决此限制,我发现只需在子shell 中运行cd即可,如:

THIS=`dirname $0`     # Which is often "."
PARENT=$(
  cd $THIS            # At this point, we are sure we're in script's directory
  dirname `pwd -P`
)
echo "PARENT=$PARENT"

答案 3 :(得分:0)

在cmd行中使用时:

dirname $(pwd)

在shell脚本中使用时:

PROJ_DIR=$(dirname $(pwd))