cons はパス内で実行可能ファイルを見つけることができますか?

StackOverflow https://stackoverflow.com/questions/790971

  •  16-09-2019
  •  | 
  •  

質問

デバッグしようとしています cons スクリプト、そして私が抱えている問題は、自分の実行可能ファイル $PATH 見つからないようです。要するに:できる cons パス内で実行可能ファイルを見つけますか?

FAQ にあるので、これは愚かな質問のように思えるかもしれません。 言う

Cons は、ソフトウェアを構築するためにフォークする子プロセスにユーザーの環境を渡しません。必要なもの、またはユーザーの環境から渡したいものはすべて、明示的に行う必要があります。

しかし、それは私には明らかではありません cons 私の姿が見えないはずはない $PATH (上記は、子プロセスが環境変数にアクセスできることを期待しないように表現されています)。の実行において、 Construct, $PATH 空と評価されますが、 $ENV{PATH} 私のパスが含まれています。

知らないことは役に立たない cons または Perl, そのため、自分が何をしているのかも、問題の原因をどこから探し始めればよいのかもわかりません。 :) 実際のところ、私にとっては機能しないが、スクリプトの元の作成者にとっては機能するスクリプトが、次の場所にあります。 ここ.

役に立ちましたか?

解決

確かに、FAQ のガイドラインは、次のようなもので問題が解決されるという点で正しいです。

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

その後に、例えば次のように続けることができます。

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

実行/インストール/ビルドなどを行うため cons 脚本。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top