通常,当一个命令作为另一个命令的参数出现时,例如
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
.