gpt4 book ai didi

bash - 在 Bash shell 中使用相对路径和 'PATH' 环境执行程序

转载 作者:行者123 更新时间:2023-12-01 22:05:07 26 4
gpt4 key购买 nike

Bash 环境

给定一个非常简单的磁盘结构如下

Simple File Structure

并将环境路径变量设置为 dir1 和 dir2,如下所示

$ env|grep PATH
returns :-
PATH=/:/usr/bin:/e/path/to/directory/dir1:/e/path/to/directory/dir2

程序执行失败如下

$ bin/prog.exe
bash: bin/prog1.exe: No such file or directory

或者还有

$ /bin/prog1.exe
bash: /bin/prog.exe: No such file or directory

但是如果我们修改路径以包含/bin

PATH=/:/usr/bin:/e/path/to/directory/dir1/bin:/e/path/to/directory/dir2/bin

当然有用

$ prog1.exe

Hello from prog1 ...

我的问题是如何使相对于“环境”PATH 的路径在 bash 中起作用?

在实践中,我得到了一些文件,这些文件有 10 条相对路径生成到许多不同的虚拟根位置,我无法更改。

对于这种情况,也不可能使用完整路径或仅使用(我们知道有效的)的可执行文件名称。

最佳答案

参见 man bash 的解释(强调我的):

If the name is neither a shell function nor a builtin, and contains no slashes, bash searches each element of the PATH for a directory containing an executable file by that name.

关于bash - 在 Bash shell 中使用相对路径和 'PATH' 环境执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52407273/

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