منبع اصلی نوشتار زیر در این لینک قرار دارد

پرسش و پاسخ شماره ۷۲


چگونه می‌توانم مطمئن شوم که محیط من برای برنامه‌های cron، batch، و jobs پیکربندی شده است؟

اگر یک اسکریپت پوسته یا سایر اسکریپت‌های فراخواننده دستورات پوسته، به طور محاوره‌ای به خوبی اجرا شود، اماموقعی که به طور غیر محاوره‌ای اجرا میشود در اثر پیکربندی محیط شکست بخورد (فرض کنید: یک ‎ $PATH‎ پیچیده)، لزوماً نیاز خواهید داشت که محیط شما به طور صحیح پیکربندی بشود.

می‌توانید یک WrapperScript بنویسید که محیط شما را پیکربندی کند. همچنین ممکن است بخواهید یک اسکریپت ‎"testenv"‎ ‏(bash یا دیگر زبانهای اسکریپت‌نویسی) داشته باشید که بررسی کند موقع اجرا تحت پیکربندی‌های مختلف کدام پوسته و محیط موجود است.

در cron، می‌توانید Bash(یا پوسته Bourne ) را با گزینه ‎'-c'‎ احضار کنید، اسکریپت مقداردهی خود را منبع کنید، سپس فرمان را فراخوانی نمایید، به عنوان مثال:

  * * * * *  /bin/bash -c ". myconfig.bashrc; myscript"

اگر پیکربندی نسبتاً ثابت است، یک رویکرد دیگر نقطه‌ای کردن فایل پیکربندی در داخل خود اسکریپت myscript خواهد بود. (یا، نقطه‌ای(dot in) کردن به طور مشروط در صورت تشخیصِ فقدان متغیر معینی در محیط خود...احتمالات بسیار زیاد هستند.)

برنامه‌های at و batch محیط جاری(به استثنای متغیرهای TERM و DISPLAY و _) را به عنوان بخشی از فوق‌داده job کپی می‌کنند، که وقتی job اجرا می‌شود، بازتولید خواهد شد. اگر این حالت نیست، لازم خواهد بود محیط را بررسی کنید و(یا) مشابه cron فوق به طور صریح آن را مقداردهی کنید.


پرسش و پاسخ 72 (آخرین ویرایش ‎2011-05-12 12:40:07‎ توسط 217)




به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد