当前位置: 首页 > 编程笔记 >

Shell中获取脚本所在目录绝对路径的方法

居乐池
2023-03-14
本文向大家介绍Shell中获取脚本所在目录绝对路径的方法,包括了Shell中获取脚本所在目录绝对路径的方法的使用技巧和注意事项,需要的朋友参考一下

要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname(realpath(__FILE__)) ; C# 则有 System.Windows.Forms.Application.StartupPath ; java 似乎没有什么比较直接的方法,只能利用 CodeSource 来间接获取 。而在 linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取:


baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)

echo "full path to currently executed script is : ${baseDirForScriptSelf}"


虽说大部分情况下我们并不需要这样的绝对路径来完成工作;但如果要把多个脚本、数据文件等内容打包作为一个整体来交付别人使用,又希望不论用户拷贝到哪个目录下执行脚本都能够正确的找到这个包里面的其他内容的话,用这样的脚本来自动定位包的根目录应该是个比较鲁棒的做法。

 类似资料:
  • 问题内容: 我有一个定义管道作业的DSL groovy脚本。我需要从工作区加载Jenkinsfile。Jenkinsfile与groovy脚本位于同一文件夹中。我正在尝试以编程方式获取groovy脚本的路径,以便可以使用它来找出Jenkinsfile的路径并使用加载它。在经历job- dsl-wiki 之后,我尝试使用指令。但是我收到以下错误: 这是我的DSL脚本 我在这里做错什么了吗?非常感谢您

  • 本文向大家介绍Symfony2获取web目录绝对路径、相对路径、网址的方法,包括了Symfony2获取web目录绝对路径、相对路径、网址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Symfony2获取web目录绝对路径、相对路径、网址的方法。分享给大家供大家参考,具体如下: 对于你的需求,Symfony2通过DIC提供了kernel服务,以及request(请求)的封装。 在co

  • 本文向大家介绍获取Java中目录或文件的绝对路径,包括了获取Java中目录或文件的绝对路径的使用技巧和注意事项,需要的朋友参考一下 方法java.io.File.getAbsolutePath()用于获取字符串形式的文件或目录的绝对路径名。此方法不需要任何参数。 演示此的程序如下所示- 示例 上面程序的输出如下- 输出结果 现在让我们了解上面的程序。 使用方法java.io.File.getAbs

  • 问题内容: 我搜索了很多内容,并获得了很多不同的解决方案和包含信息的变量来获取绝对路径。但是它们似乎在某些条件下工作,而不在其他条件下工作。有没有一种方法可以获取PHP中已执行脚本的绝对路径?对我来说,该脚本将从命令行运行,但是,如果在Apache等内部运行,则解决方案也应起作用。 说明:最初执行的脚本,不一定是解决方案的编码文件。 问题答案: 正确的解决方案是使用以下功能: 这将为您提供初始脚本

  • 问题内容: 我正在尝试在当前包外部的路径中运行exe文件。我运行它的code.java文件在 但是exe所在的目录 如果可能的话,似乎最好的解决方案是获取Project的绝对路径,然后在其中添加“ src \ main \ resources \”。有什么好方法吗?或者有替代的解决方案?我正在使用Eclipse,但如果也可以在其他IDE中使用它,那就太好了。谢谢你的帮助。 问题答案: 解决此问题的

  • 本文向大家介绍JS获取当前脚本文件的绝对路径,包括了JS获取当前脚本文件的绝对路径的使用技巧和注意事项,需要的朋友参考一下  当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这个问题吧! 一、各大浏览器的实现方式                  [a]. Chrome和FF  超简单的一句足矣! 这里利用了对象 document.currentSc