在bash脚本中包含相对路径中的二进制文件

基里尔

我有一个project/bin/不包含在中的目录PATH它包含二进制文件project/bin/oneproject/bin/two

bash脚本位于中project/shell/script1/run.sh现在,我想使用脚本中project/bin文件夹中的二进制文件project/shell/script1/run.sh我想有一个可以是sourced的全局脚本,并自动包含那些二进制文件。

因此,我创建了一个脚本project/bin/load_bin

#!/usr/bin/env bash

$local_bin_one='./one'
$local_bin_two='./two'

在我project/shell/script1/run.sh我执行脚本:

#!/usr/bin/env bash

source '../../bin/load_bin'

但是,当我尝试使用时,出现$local_bin_one找不到文件的错误。这是因为$local_bin_one指向./one而不是../../bin/one

问题:如何找到source '../../bin/load_bin'project/bin/load_bin脚本本身调用脚本的路径

约翰·兹温克

您可以通过以下方式获取Bash脚本的路径:

${0%/*}

也就是说,采用$0argv[0],调用脚本时使用的完整路径和文件名),并去除最后一个斜杠及其后的斜杠(等效于$(dirname "$0"))。

然后,您可以执行以下操作:

mydir=${0%/*}
source "$mydir/../../bin/load_bin"

或者,您甚至可以执行以下操作:

cd ${0%/*}
source '../../bin/load_bin'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

二进制文件的相对路径

来自分类Dev

使用相对路径保存我的二进制文件找不到该路径

来自分类Dev

CMake:从ExternalProject链接共享的C ++对象会生成具有相对路径的二进制文件,而不是绝对路径

来自分类Dev

从 bash 脚本中删除相对路径

来自分类Dev

Eclipse CDT中包含文件的相对路径

来自分类Dev

HTML文件中的相对路径

来自分类Dev

Yii相对路径包含文件

来自分类Dev

制作包含文件的相对路径

来自分类Dev

如何获取已在二进制.exe 中编译的python 脚本文件路径?

来自分类Dev

在* nix系统上的C中,使用$ PATH或“哪”找到二进制文件的绝对路径?

来自分类Dev

在路径中找不到二进制文件

来自分类Dev

在python包中包含外部二进制文件

来自分类Dev

在DEB包中包含二进制文件

来自分类Dev

在DEB包中包含二进制文件

来自分类Dev

在文件数组中包含相对路径的最佳方法

来自分类Dev

根据固定的相对路径在zip文件中包含目录结构

来自分类Dev

如何欺骗bash认为我从二进制文件所在的目录中运行了脚本?

来自分类Dev

从Qt中的文件获取相对路径

来自分类Dev

文件操作在相对路径中不起作用

来自分类Dev

如何从相对路径的MediaStore中读取文件?

来自分类Dev

在.vbs文件中创建相对路径

来自分类Dev

python中的相对路径几个文件夹

来自分类Dev

在相对路径中运行批处理文件?

来自分类Dev

配置文件中的相对路径

来自分类Dev

从jar文件中获取相对路径

来自分类Dev

spring boot中不取文件相对路径

来自分类Dev

Django设置中的相对路径

来自分类Dev

Xlwings Pythonpath中的相对路径

来自分类Dev

CodeLite:makefile中的相对路径

Related 相关文章

热门标签

归档