代码之家  ›  专栏  ›  技术社区  ›  Will Robertson

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

  •  1
  • Will Robertson  · 技术社区  · 15 年前

    我正在调试 cons 脚本,我的问题是我自己的可执行文件 $PATH 似乎没有找到。简而言之:罐头 欺骗 在我的路径中查找可执行文件?

    这似乎是一个愚蠢的问题,因为常见问题 says

    cons不会将用户的环境传递给它为构建软件而分叉的子进程。您需要或想要从用户环境中传递的任何内容都必须显式地完成。

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

    我不知道这没用 欺骗 也不 Perl 所以我不知道自己在做什么,也不知道从哪里开始寻找问题的根源。 :) 值得一提的是,这个脚本不适合我,但适合脚本的原始作者 here .

    1 回复  |  直到 15 年前
        1
  •  1
  •   Will Robertson    15 年前

    就其价值而言,常见问题解答中的指导方针是正确的,因为这样做可以解决问题:

    # A standard construction environment.
    $env = new cons(
       ENV => { PATH => $ENV{PATH} }
    );
    

    然后可以跟在后面,例如,

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

    运行/安装/构建/使用 cons 脚本。