如何在bash中获取文件的绝对目录?

如何在bash中获取文件的绝对目录?,第1张

如何在bash中获取文件的绝对目录?

要获取完整路径,请使用:

readlink -f relative/path/to/file

要获取文件目录:

dirname relative/path/to/file

您还可以将两者结合起来:

dirname $(readlink -f relative/path/to/file)

如果

readlink -f
您的系统不可用,则可以使用以下*:

function myreadlink() {  (  cd "$(dirname )"         # or  cd "${1%}"  )}

请注意,如果只需要移动到指定为相对路径的文件的目录,就不需要知道绝对路径,相对路径是完全合法的,因此只需使用:

cd $(dirname relative/path/to/file)

如果希望(在脚本运行时)返回原始路径,请使用

pushd
代替
cd
,并
popd
在完成后使用。



尽管

myreadlink
在此问题的上下文中上述内容已经足够好,但相对于
readlink
上面建议的工具而言,它具有一些局限性。例如,它没有正确地链接到具有的不同文件的链接
basename



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5009737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存