在需要相对路径的地方强制使用绝对路径

在需要相对路径的地方强制使用绝对路径

我有一个程序,它以相对路径作为输入,将其附加到某个路径字符串以获取实际路径。

现在我只能输入相对路径。所以如果我想上一级,我的输入将是../mypath

如果我知道内部使用的路径的深度,我可以使用..任意多次转到根目录,然后给出绝对路径。但假设我不知道目录的深度,我可以构造一个相对路径字符串,以便它将其视为相对路径吗?一种方法可能是..在路径字符串中有足够的内容,以便我可以强制某个最大路径深度的绝对路径。

是否存在一些我不知道但可以实现的路径字符串语法?

答案1

也许是这样的:

s="."; until [[ $(readlink -e $s) == / ]]; do s+=/..; done; echo "$s"; ls -l "$s"

答案2

如果程序始终默认在同一位置,则只需在该目录中创建一个指向 / 的符号链接并使用该符号。

相关内容