假设我在/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。 (在“无参数”情况的测试中编辑)