在 PATH 中找不到作为参数传递给另一个命令的命令

在 PATH 中找不到作为参数传递给另一个命令的命令

通常,当一个命令作为另一个命令的参数出现时,例如

command1 command2

如何command2搜索 的可执行文件?

是在 中搜索到的吗$PATH

它特定于如何command1处理搜索吗?

例如,我只是更改PATH~/.bashrc,然后运行source ~/.bashrc。然后我可以myprogram在bash中运行,但是运行时出现问题

$ torify myprogram
ERROR: myprogram cannot be found in PATH.

答案1

由于第二个命令是第一个命令的参数(就 shell 而言,这是实际运行的可执行文件),因此它完全取决于第一个命令如何处理其参数。

实际的可执行文件是否采用完整路径或相对路径或搜索PATH,完全取决于它的设计。

答案2

torify用于/bin/which测试是否myprogram在 PATH 中找到。首先尝试使用which myprogram自己。确保您的命令可以通过chmod +x myprogram.

相关内容