gpt4 book ai didi

bash - 在 bash 脚本中执行相对路径可执行文件

转载 作者:行者123 更新时间:2023-11-29 09:44:59 34 4
gpt4 key购买 nike

我在谷歌上搜索了这个 senario,但是关于如何将相对路径变成绝对路径的结果充斥着它(这会起作用,但我觉得有更简单的方法)

我有以下场景:

$ls ../
executable1 dir1
$
$ls
shellscript1
$
$cat ./shellscript1
#!/bin/bash
#Run executable1, which I know is one dir up towards root
../executable1 arg1 arg2 arg3 etc
exit 0
#----End Of Script----
$
$./shellscript1
./shellscript1: line 3: ../executable1: No such file or directory

本质上,我需要从 bash 脚本调用具有相对路径的可执行文件。它在 bash shell 中工作正常,但在脚本中它无法解析路径。我已经验证了工作目录是我所期望的(例如,dir1)。在它前面是否需要一些 callexec 之类的命令?我尝试了 sh ../executable1 但当然 bash 在可执行文件中失败了。

最佳答案

我刚刚对此进行了测试,它基于您的信息并且似乎工作正常。

$ ls ../
dir1 executable1 executable1.c
$
$ cat ../executable1.c
#include <stdio.h>
int main(int argc, char ** argv) {
while (*argv) {printf ("<%s> ",*argv++);}
printf("\n");
return 0;
}
$ cat ./shellscript1
$
#!/bin/bash
#Run executable1, which I know is up dir up towards root
../executable1 arg1 arg2 arg3 etc
exit 0
#----End Of Script----
$
$ ./shellscript1
<../executable1> <arg1> <arg2> <arg3> <etc>
$
$ ls -l ../ ./
./:
total 4
-rwxr-xr-x 1 pizza pizza 133 2012-03-29 00:19 shellscript1

../:
total 16
drwxr-xr-x 2 pizza pizza 4096 2012-03-29 00:24 dir1
-rwxr-xr-x 1 pizza pizza 6501 2012-03-29 00:20 executable1
-rw-r--r-- 1 pizza pizza 126 2012-03-29 00:20 executable1.c

关于bash - 在 bash 脚本中执行相对路径可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914311/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com