繁体   English   中英

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

[英]How to get full path from “../” on command line in Linux shell script

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

你想要readlink -f

$ cd /tmp
$ readlink -f ..
/

使用realpath

$ realpath ..
/home

虽然您经常可以使用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"

在cmd行中使用时:

dirname $(pwd)

在shell脚本中使用时:

PROJ_DIR=$(dirname $(pwd))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM