获取给定目录的完整路径名

获取给定目录的完整路径名

假设我在/path/to/dir.在此目录中还有另一个名为 的目录subdir

我是否可以发出一个命令来输出 的完整路径subdir,无论它是如何识别的?例如:

$ cmd subdir
/path/to/dir/subdir

$ cmd /path/to/dir/subdir
/path/to/dir/subdir

答案1

coreutils' 的realpath技巧是:

realpath subdir

但它可以工作,但是指定了目录(或文件):

realpath /blah/blah2/subdir
realpath ../blah2/subdir

答案2

function somepath () {
  [ -z "$1" ] && { pwd; return; }
  (cd -P -- "$1" && pwd)
}

只需创建一个子 shell(这样就cd不会影响您当前的 shell)并打印 cwd。 (在“无参数”情况的测试中编辑)

相关内容