首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在makefile中,如何获取从一个绝对路径到另一个绝对路径的相对路径?

在Makefile中,可以使用shell命令来获取从一个绝对路径到另一个绝对路径的相对路径。具体方法如下:

  1. 使用cd命令切换到第一个绝对路径目录。
  2. 使用pwd命令获取当前目录的绝对路径。
  3. 使用cd命令切换到第二个绝对路径目录。
  4. 使用pwd命令获取当前目录的绝对路径。
  5. 使用realpath命令获取两个绝对路径之间的相对路径。

以下是一个示例Makefile规则,用于获取从/home/user/project/home/user/project/src的相对路径:

代码语言:makefile
复制
relative_path := $(shell cd /home/user/project && pwd)
relative_path := $(shell cd /home/user/project/src && pwd)
relative_path := $(shell realpath --relative-to=$(relative_path) $(shell pwd))

all:
    @echo "Relative path: $(relative_path)"

在这个示例中,我们首先使用cdpwd命令获取两个绝对路径的绝对路径,然后使用realpath命令获取相对路径。最后,我们在all目标中输出相对路径。

需要注意的是,这个方法依赖于realpath命令,该命令在大多数Linux发行版中都可用,但在macOS中可能不可用。在macOS中,可以使用brew install coreutils安装realpath命令。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

HTML如何表示根目录?HTML绝对路径相对路径

路径指文件存放位置,在网页利用路径可以引用文件,插入图像、视频等。表示路径方法有两种:相对路径绝对路径。以下讨论均是HTML环境下进行。 HTML如何表示根目录?.../aaa" //表示当前目录上级目录下aaa "bbb/aaa" //表示当前目录bbb目录下aaa HTML之绝对路径相对路径 相对路径 相对路径是指目标相对于当前文件路径,网页结构设计多采用这种方法来表示目标的路径...相对路径有多种表示方法,其表示意义不尽相同。..../ :代表文件所在目录(可以省略不写) ../ :代表文件所在父级目录 ../../ :代表文件所在父级目录父级目录 / :代表文件所在根目录 值得注意是,(/ :代表文件所在根目录)其实可以理解成项目内部绝对路径.../html/css/css1/000.css"/> 绝对路径 绝对路径是指完整网址,假设图一项目的网站域名为www.quanbaike.com,那么000.css绝对路径应该是 https://www.quanbaike.com

11.8K30

如何在 MSBuild 项目文件 csproj 获取绝对路径

通常我们能够 csproj 文件仅仅使用相对路径就完成大多数编译任务。但是有些外部命令执行需要用到绝对路径,或者对此外部工具来说,相对路径具有不同含义。...这个时候,就需要将相对路径 csproj 中转换为绝对路径来使用。 本文介绍如何在项目文件 csproj 中将一相对路径转换为绝对路径。... MSBuild 4.0 ,可以 csproj 编写调用 PowerShell 脚本代码,于是获取路径绝对路径就非常简单: 1 [System.IO.Path]::GetFullPath...('$(WalterlvRelativePath)') 具体 csproj 代码,是这样: 1 2 3 4 5 6 ...你可以阅读我其他篇博客了解 $(OutputPath) 其实最终都会是相对路径: 项目文件已知属性(知道了这些,就不会随便在 csproj 写死常量啦) - walterlv 如何更精准地设置

27630
  • 【Java 进阶篇】Java Response 重定向详解

    Java Web开发,重定向(Redirect)是一种常见技术,用于将用户从一URL地址自动重定向另一个URL地址。...重定向是一种Web服务器或Web应用程序将用户从一URL地址导航另一个URL地址技术。它通常用于以下情况: 将用户从一页面引导另一个页面。 更改或更新URL以反映新资源位置。...以下是如何在Java执行重定向步骤: 步骤1:获取HttpServletResponse对象 首先,Servlet或JSP,你需要获取当前请求HttpServletResponse对象。...有两种常见重定向方法:相对路径重定向和绝对路径重定向。 相对路径重定向 相对路径重定向是指将用户重定向相对于当前请求URL新URL。...id=123” 重定向简洁URL “/article/123”。 5. 总结 重定向是Java Web开发一项关键技术,用于将用户从一URL地址引导另一个URL地址。

    1.3K30

    HttpServletRequest 类

    base 标签作用 Web 相对路径绝对路径 web / 斜杠不同意义 HttpServletRequest类有什么作用 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来...请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源操作叫请求转发。.../index.html">跳回首页 Web 相对路径绝对路径 javaWeb ,路径分为相对路径绝对路径两种: 相对路径是: ....表示上一级目录 资源名 表示当前目录/资源名 绝对路径: http://ip:port/工程路径/资源路径 实际使用,路径都使用绝对路径,而不简单使用相对路径。...1、绝对路径 2、base+相对 web / 斜杠不同意义 web / 斜杠 是一种绝对路径

    27910

    为什么 Vite 请求有时候是相对路径,有时候是 @fs + 绝对路径

    开发项目时,我发现有时候请求资源路径是相对路径,有时候是 /@fs/ 开头绝对路径,这是为什么呢? Vite 请求路径种类 • 相对路径,相对于根目录路径。...如果文件 Vite root 根目录,则直接使用相对路径 但如果在 Vite root 根目录外,相对路径就需要使用 ../ 这种,这种形式不能马上看出文件位置,因此直接使用绝对路径更好,但是需要跟相对路径做区分...url = resolved.id } return [url, resolved.id] } 从这里可以看出,相对路径绝对路径使用场景,就是根据文件是否 root 目录来决定...这里,其实已经解决了我们问题了,但我们可以想得更深: 既然可以绝对路径访问文件,那输入另一个路径,是不是就能访问到别的文件了?...总结 本文以一开发小问题作为开头,提出疑问:为什么 Vite 请求有时候是相对路径,有时候是 /@fs/ 开头 + 绝对路径

    2.1K30

    HTML常用文本标记,超级链接和路径描述

    路径描述 路径分为绝对路径相对路径绝对路径用得不多可以说几乎不用,因为用绝对路径是把路径写死了,一旦工程移动到其他电脑上,这个路径就不可用了。...所谓超链接是指从一网页指向一目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上不同位置,还可以是一图片,一电子邮件地址,一文件,甚至是一应用程序。...上面所介绍路径描述超级链接里会应用到,当需要使用超级链接来链接工程下某个html文件时可以使用相对路径绝对路径,但是尽量使用相对路径。...命名锚记像一迅速定位器一样是一种页面内超级链接,运用相当普遍,能在一页面里自由跳转。 使用命名锚记可以文档设置标记,这些标记通常放在文档特定主题处或顶部。...同样可以跳转到另一个网页锚点,示例: ? 运行结果: ? ?

    1.9K20

    为什么 Vite 请求有时候是相对路径,有时候是 @fs + 绝对路径

    开发项目时,我发现有时候请求资源路径是相对路径,有时候是 /@fs/ 开头绝对路径,这是为什么呢?Vite 请求路径种类相对路径,相对于根目录路径。...如果文件 Vite root 根目录,则直接使用相对路径但如果在 Vite root 根目录外,相对路径就需要使用 ../ 这种,这种形式不能马上看出文件位置,因此直接使用绝对路径更好,但是需要跟相对路径做区分...url = resolved.id } return [url, resolved.id]}从这里可以看出,相对路径绝对路径使用场景,就是根据文件是否 root 目录来决定这里,...其实已经解决了我们问题了,但我们可以想得更深:既然可以绝对路径访问文件,那输入另一个路径,是不是就能访问到别的文件了?...总结本文以一开发小问题作为开头,提出疑问:为什么 Vite 请求有时候是相对路径,有时候是 /@fs/ 开头 + 绝对路径

    3.8K20

    第80篇:Weblogic上传漏洞不知绝对路径情况下拿shell方法

    但是我们经常遇到情况是“当前工作目录”是空,或者是被其它攻击者给随意更改成错误路径,导致不知道绝对路径导致上传webshell失败,那如何解决这个问题呢?...这里需要注意是,上述路径/AdminServer/不同weblogic安装环境可能不一样,它可能是/Server-0/或者/app_server1/,它可能是管理服务器名称,也可能是被管服务器...路径/4mcj4y/值也不是固定,它是由/AdminServer/结合另一个变量计算出来,所以我们只需要知道/AdminServer/处值就好办了。...IIOP协议获取相对路径 经过研究发现,如果目标weblogic端口iiop协议开放的话,直接向iiop协议端口7001或者其它端口发送一数据包,返回数据包中就会有获取相对路径最关键服务器实例名称...XXE漏洞获取weblogic绝对路径 经过仔细观察发现,此上传漏洞编号是CVE-2018-2894,CVE-2018-2894编号附近,有一XXE漏洞CVE-2018-3246,因为两漏洞编号相近

    60810

    shell获取当前工作目录绝对路径

    一般我们写Shell脚本时候,都倾向使用绝对路径,这样无论脚本什么目录执行,都应该起到相同效果,但是有些时候,我们设计一软件包工具脚本或者远程调用某个脚本时,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个目录执行你程序...,于是问题就来了,如何获取当前正在执行脚本绝对路径?...你可以试试bash shell/a.sh,a.sh 内容是 pwd,你会发现,显示是执行命令路径 /home/ljl,并不是 a.sh 所在路径:/home/ljl/shell/a.sh 另一个误人子弟答案...这个$0有可能是好几种值,跟调用方式有关系: 使用一文件调用bash,那$0值,是那个文件名字(没说是绝对路径噢) 使用-c选项启动bash的话,真正执行命令会从一字符串读取,字符串后面如果还有别的参数的话...,使用从$0开始特殊变量引用(跟路径无关了) 除此以外,$0会被设置成调用bash那个文件名字(没说是绝对路径) 简单介绍一下获取方法如下: #!

    11.7K70

    Linux 相对路径绝对路径使用

    概述 绝对路径相对路径shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。 02....此外,如果你跟鸟哥一样,喜欢将路径名字写很长,好让自己知道那个目录是干什么,例如: /cluster/raid/output/taiwan2006/smoke 这个目录,而另一个目录在 /cluster...因为绝对路径写法虽然比较麻烦,但是可以肯定这个写法绝对不会有问题。 如果使用相对路径程序当中,则可能由于你运行工作环境不同,导致一些问题发生。 06....思维发散 问题: 在给出相对路径时,系统如何识别其相应绝对路径呢? 事实上,相对路径是根据PATH环境变量来查找绝对路径。...举例来说,我目前 /home/itcast 这个 itcast使用者家目录,我想要看看里面的 .bashrc 这个档案数据,使用是 more 这个指令,而这个指令 /bin/more 当中。

    6.2K43

    【Java 进阶篇】Java Response 路径详解

    Java Web开发,处理HTTP响应路径是一重要概念。了解如何正确处理和管理路径对于构建健壮Web应用程序至关重要。...本篇博客将详细介绍JavaHTTP响应路径,包括路径组成、相对路径绝对路径区别、如何构建和处理路径,以及路径Web应用常见应用。 什么是HTTP响应路径?...Web开发,HTTP响应路径指的是Web服务器响应客户端请求时返回资源路径。这个路径决定了客户端将如何访问和获取这些资源。...相对路径绝对路径区别 处理HTTP响应路径时,你会经常遇到相对路径绝对路径这两概念。它们之间区别如下: 相对路径(Relative Path): 相对路径是相对于当前资源路径。...结论 HTTP响应路径是Web开发关键概念,它决定了客户端如何访问和获取资源。了解相对路径绝对路径区别以及如何构建和处理路径对于构建稳健Web应用程序至关重要。

    27830

    JavaWeb复习

    实现servlet程序 编写一类实现servlet接口 实现service方法处理请求并响应数据 web.xml配置servlet程序访问地址 servlet实现类 /** * @create...2.获取当前工程路径,格式:/工程路径 3.获取工程部署后服务器磁盘上绝对路径 4.像map一样存取数据 HTTP协议 所谓Http协议,就是指,客户端和服务器之间通信时,发送数据,需要遵守规则...,从一次资源跳转到另一个资源操作叫做请求转发。...Web相对路径绝对路径 javaWeb,路径分为相对路径绝对路径两种: 相对路径: . 表示当前目录 .....表示上一层目录 资源名 表示当前目录/资源名 绝对路径: http://ip:port/工程路径/资源路径 web / 斜杠不同意义 web / 斜杠是一种绝对路径 / 斜杠 如果被浏览器解析

    73310

    如何从Bash脚本本身获得其所在目录

    问: 如何从Bash脚本本身获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ....但是相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录绝对路径: #!...编程$(cmd) 和 `cmd` 之间有什么区别 为什么我不能在脚本中使用"cd"来更改目录 为什么可执行文件或脚本名称之前需要..../(点-斜杠),以便在bash运行它 shell脚本对编码和行尾符敏感吗

    33720

    关于绝对路径相对路径

    作为一phper,一开始学习时候,可能都接触过绝对路径相对路径,但是也可能很多没学基础的人,直接撸tp去了,根本不了解路径,一遇到问题就两眼一抹黑瞎几把问,所以,今天就来讲讲关于路径事吧....需要跟服务端交互,才能正确获取文件信息,浏览器通过url绝对路径,可获取到http服务器绑定目录文件信息 url相对路径,html代码显示,可通过相对路径获取到该网页和http服务器绑定目录下文件信息...用户绝对路径,浏览器地址栏和标签,都可通过本地绝对路径获取本机文件,例如在浏览器输入:"E:\tioncico\othe\a.cn\test.txt",即可获取到本机E磁盘下这个文件...用户相对路径,同样,浏览器,如果你直接通过"E:\tioncico\othe\a.cn\index.html"打开一html,里面html标签如果写了绝对路径,也可通过该相对路径,获取到本机磁盘下相对路径文件...很明显,路径是以调用文件为基准.那该如何获取到test.php目录呢? 可通过__DIR__常量获取当前文件目录

    3K10

    yhd-VBA从一工作簿某工作表查找符合条件数据插入另一个工作簿某工作表

    今天把学习源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿)查找一些数据,提取出来...想要做好了以后同样工作就方便了 【想法】 程序主控文件 设定:数据源文件(要在那里查找工作簿) 设定:目标文件(要保存起来那个文件) 输入你要查找数据:如:含有:杨过,郭靖数据。...要复制整行出来 主控文件设定如图 数据源文件有两工作表 查找到"郭靖"数据保存到目标文件【射雕英雄传】工作表 查找到"杨过"数据保存到目标文件【第一】工作表 【代码】 Sub...从一工作簿某工作表查找符合条件数据插入另一个工作簿某工作表() Dim outFile As String, inFile As String Dim outWb As...并转发使更多的人学习

    5.3K22

    Linux文件和目录管理相关命令(一)

    从今天起小编将为大家带来一系列Linux文件和目录管理相关命令,正在做Linux运维工程师小伙伴,来看一看希望对你有帮助哦~ 一、目录与路径 1.相对路径绝对路径 因为我们Linux系统,常常要涉及目录切换...之前学习,就反复强调了Linux目录是”树状目录”。...假设我们需要在任意一目录下切换到另一个目录下,通常是使用是cd这个命令,此时写切换目录名时就有两种书写方式,也就是我们常说使用”相对路径”与”绝对路径”来书写 绝对路径:路径写法【一定由根目录...相对路径意指相对于当前工作目录 我们知道,Linux系统完整文件路径名长度最大可以达到4096字符,所以一文件路径名太长的话,此时写绝对路径时就非常麻烦,而且可能写错,所以此时选择使用相对路径来写就会简单一些...) dirname (获取路径目录名) 完整文件名最长我们可以为4096字符。

    1.1K40
    领券