يمكن سلبيات العثور على الملفات التنفيذية في طريقي؟
سؤال
أحاول تصحيح cons
البرنامج النصي، والمشكلة التي أواجهها هي أن التنفيذ في بلدي $PATH
لا يبدو أن يكون موجودا. باختصار: cons
العثور على الملفات التنفيذية في طريقي؟
قد يبدو هذا مثل سؤال سخيف، منذ الأسئلة الشائعة يقول
لا يقوم السلبيات بتمرير بيئة المستخدم إلى العمليات الفرعية التي تشومسها لبناء البرنامج. يجب إجراء أي شيء تحتاجه أو ترغب في المرور فيه من بيئة المستخدم بشكل صريح.
ليس من الواضح لي ذلك cons
لا ينبغي أن تكون قادرة على رؤية بلدي $PATH
(ما سبق صياغته بحيث لا أتوقع أن يتمكن الطفل من الوصول إلى أي من متغيرات البيئة). في تنفيذ Construct
, $PATH
يقيم إفراغ ولكن $ENV{PATH}
هل يحتوي على طريقي.
لا يساعد ذلك أنا لا أعرف cons
ولا Perl
, ، لذلك أنا لا أعرف حقا ما أفعله، ولا من أين البدء في البحث عن ما يسبب المشكلة :)
لما يستحق، البرنامج النصي الذي لا يعمل من أجلي، ولكن يعمل المؤلف الأصلي من البرنامج النصي، هنا.
المحلول
لما يستحق، فإن المبدأ التوجيهي في الأسئلة الشائعة صحيحة في هذا الأمر، وسوف يحل المشكلة المشكلة:
# A standard construction environment.
$env = new cons(
ENV => { PATH => $ENV{PATH} }
);
التي يمكن بعد ذلك اتباعها، على سبيل المثال،
Command $env 'foo', qq(echo =`which tex`=);
لتشغيل / تثبيت / بناء / كل ما تفعله مع cons
النصي.