当前位置: 首页 > 面试题库 >

如何在bash脚本中将路径名中的“ ..”转换为绝对名称?

壤驷华辉
2023-03-14
问题内容

如何..在bash脚本中将路径名中的转换为绝对路径名。也就是说,如果我有一个path
/home/nohsib/dvc/../bop,那么在这种情况下,我希望将其更改为其中没有点的路径/home/nohsib/bop

我怎样才能做到这一点?


问题答案:

您正在寻找的是
readlink

absolute_path=$(readlink -m /home/nohsib/dvc/../bop)

请注意: 您需要使用readlink提供“ -m”选项的GNU 实现。readlink例如,BSD 则没有。



 类似资料:
  • 问题内容: 我有文件A的绝对路径。 我有一个从文件A的目录到文件B的相对路径。此路径可以并且将使用“ ..”以任意复杂的方式向上移动目录结构。 范例A: 示例B: 我如何结合这两者以获得 最简单的 绝对路径到文件B? 问题答案: 如果我的问题正确,那么您可以执行以下操作:

  • 问题内容: 在我的 文件系统中, 我的工作目录在这里: C:\ temp \ a \ b \ c \ d 在b \ bb下有文件:tmp.txt C:\ temp \ a \ b \ bb \ tmp.txt 如果要从工作目录转到该文件,请使用以下路径: 如果文件不存在,我想记录完整路径并告诉用户: “文件C:\ temp \ a \ b \ bb \ tmp.txt不存在” 。 我的问题: 我需

  • 问题内容: 我想在固定位置引用一个jar文件,以供多个可执行jar使用,而不是在每个可执行文件中都包含该jar。我有以下设置可以正常工作 commons- math3-3.6.1.jar存在于目录testgradle中。TestGradle.jar包含main方法,并存在于目录testgradle / build / libs中 从testgradle / build / libs我运行: 一切正

  • 我想引用一个固定位置的jar文件供多个可执行jar使用,而不是在每个可执行文件中包含该jar。我有以下设置工作良好 但是我想用绝对路径来处理commons-math3-3.6.1.jar,以便testgradle.jar这样的可执行JAR可以从它们所在的任何目录中使用它。但是,如果我更改testgradle.jar manifest以包括完整路径: 则命令: 从testgradle/build/l

  • 将波浪符号(~)路径转换为绝对路径。 通过一个正则表达式使用 String.replace() 和 OS.homedir() 来用主目录替换路径起始处的〜。 const untildify = str => str.replace(/^~($|\/|\\)/, `${require('os').homedir()}$1`); untildify('~/node'); // '/Users/aUs

  • 我正在使用一个eclipse插件,其中存在于视图中的项目的工作区名称与项目的实际路径不同。因此,当我试图获取项目位置时,考虑到位于的项目,它指向。 有没有办法从绝对路径(它指向本地路径)获取IFile? 我想创建一个超链接到一个我有绝对路径的特定文件。当我点击控制台上的超链接时,它应该在编辑器中打开文件。