这总是什么都不返回:readlink $Somevar
. 我可以有"${Somevar}"
, "$Somevar"
, $Somevar
, 或${Somevar}
- 没有区别。我一直在打印Somevar
,我知道它具有合理的价值。只需$Somevar
在终端输入(一旦我回显/“调试”我的脚本给我相对路径并中止)给我绝对路径。但我需要能够获得脚本中的绝对路径!
是否可以将 readlink 与变量结合使用?坦率地说,我不知道 readlink 是如何“知道”它正在传递一个变量的。我认为即使在脚本中,它也会在调用 readlink 之前由 shell 扩展。我已经用“ ~/_src
”在终端(无脚本)中对其进行了测试。它起作用的唯一方法是,如果我不带引号写它。但是,如果我将该值分配给一个变量,我机器上的所有其他函数都可以使用它,但 readlink。
我怎样才能得到绝对路径?我什至不在乎我是否使用 readlink。我只想从脚本中的相对路径获取绝对路径。
更新:(Stackoverflow 评论被破坏)
我标记为 Linux。我要求 readlink 因为我也想翻译符号链接,但我可以在单独的步骤中这样做。
此外,这也失败了:ABSDIR=`cd $RELDIR; pwd`
给出
bash: cd: ~/_src/: No such file or directory
(有这样的目录,cd
如果我在终端上键入确切的目录名,就会找到它。)我现在猜测它~/
是由终端本身扩展的。
那么,有没有办法处理这样的路径?显然,我认为处理这些路径的所有实用程序都在工作,因为终端在调用它们之前扩展了路径。