CSH Run Script Config File ، والمتغيرات
سؤال
أنا عديمي الخبرة إلى حد ما مع البرامج النصية Shell (CSH في هذه الحالة) ولكن طُلب منها تحرير واحدة. لقد طُلب مني إضافة ملف تكوين لجعله أكثر بساطة لتحرير العديد من المتغيرات المحددة. اعتقدت أن هذا كان سخيفًا لأن هذا نص وقراءة من وإلى ملف سيكون سخيفًا بعض الشيء ، لذا فإنني على الرغم من أنني أستطيع صنع نص مختلف من شأنه أن يضع المتغيرات.
السيناريو الأصل
#!/bin/csh
...
...
./set_vars
echo $aVar
ونص SET_VARS الخاص بي يشبه شيئًا مثل
#!/bin/csh
setenv aVar "400"
echo $aVar
لكن Avar أنا snot تعريف في البرنامج النصي الأصل.
يصبح سؤالي ... كيف يمكنني جعل متغيرات البرنامج النصي للطفل يمكن أن يستخدمها البرنامج النصي الأصل ، أو هل هناك طريقة أفضل للحصول على ملف تكوين حيث يمكن لشخص ما تعيين المتغيرات.
يبدو هذا وكأنه طريقة سخيفة للقيام بذلك ، لكن أفضل طريقة يمكنني أن أقول أنها لا تتطلب أي ملف IO ولا يزال لديه ملف موجز لتحرير VARS.
المحلول
يجب عليك تنفيذ البرنامج النصي "set_vars" ضمن سياق الوالد. في C-Shell ، يمكنك تحقيق ذلك باستخدام أمر "المصدر":
#!/bin/csh ... source set_vars ... echo $aVar