Path 犯人能在我的路径中找到可执行文件吗?

Path 犯人能在我的路径中找到可执行文件吗?,path,cons,Path,Cons,我试图调试cons脚本,问题是我自己的$PATH中的可执行文件似乎找不到。简而言之:cons能在我的路径中找到可执行文件吗 这似乎是一个愚蠢的问题,因为FAQ Cons不会将用户环境传递给它派生来构建软件的子进程。您需要或想要从用户环境传入的任何内容都必须明确地执行 但是,我不清楚cons是否应该不能看到我的$PATH(上面的措辞是,我不希望子进程能够访问任何环境变量)。在执行构造时,$PATH计算结果为空,但$ENV{PATH}确实包含我的路径 我不知道cons或Perl,因此我不知道自己在做

我试图调试
cons
脚本,问题是我自己的
$PATH
中的可执行文件似乎找不到。简而言之:
cons
能在我的路径中找到可执行文件吗

这似乎是一个愚蠢的问题,因为FAQ

Cons不会将用户环境传递给它派生来构建软件的子进程。您需要或想要从用户环境传入的任何内容都必须明确地执行

但是,我不清楚
cons
是否应该不能看到我的
$PATH
(上面的措辞是,我不希望子进程能够访问任何环境变量)。在执行
构造时,
$PATH
计算结果为空,但
$ENV{PATH}
确实包含我的路径


我不知道
cons
Perl
,因此我不知道自己在做什么,也不知道从哪里开始寻找导致问题的原因
:)
为了它的价值,找到了对我不起作用但对脚本的原始作者起作用的脚本。

为了它的价值,常见问题解答中的指导原则是正确的,类似这样的方法可以解决问题:

# A standard construction environment.
$env = new cons(
   ENV => { PATH => $ENV{PATH} }
);
然后可以接上,例如

Command $env 'foo', qq(echo =`which tex`=);

要使用
cons
脚本运行/安装/构建/执行任何操作。

对于它的价值,常见问题解答中的指导原则是正确的,类似这样的内容可以解决问题:

# A standard construction environment.
$env = new cons(
   ENV => { PATH => $ENV{PATH} }
);
然后可以接上,例如

Command $env 'foo', qq(echo =`which tex`=);
使用
cons
脚本运行/安装/构建/执行任何操作