我正在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] 删除。
我来说两句