从bash中的相对路径获取文件的父级的父级的完整路径

贾斯汀·马洛兹(Justin Maroz)

我正在bash中寻找一种方法来获取给定文件的父级父级的完整路径。作为一个例子user@host:~/grand-parent/parent $ {get-grand-parent} file应该返回/home/user/grand-parent/

我尝试使用dirname多次,但显然它只是拆分传递的字符串并返回倒数第二条路径。就像一样dirname $(dirname parent/file)返回,因此仅当我通过完整路径时它才起作用。.dirname $(dirname $(dirname parent/file))

实现这一目标的最佳方法是什么?

若奥·维托里诺

一次调用dirname即可获取父票。

$ pwd
/opt
$ dirname mediawiki/maintenance
mediawiki
$ dirname mediawiki/maintenance/mssql/
mediawiki/maintenance

要获取完整的路径以提供文件夹或文件的相对路径,请使用以下方法之一

1-真实路径

$ realpath mediawiki/LocalSettings.php
/opt/mediawiki/LocalSettings.php

2-阅读链接

$ readlink -m mediawiki/LocalSettings.php
/opt/mediawiki/LocalSettings.php

对于内置解决方案,您必须具有创造力

echo "$(cd "$(dirname "mediawiki/LocalSettings.php")"; pwd)/$(basename "mediawiki/LocalSettings.php")"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章