سؤال

أنا عديمي الخبرة إلى حد ما مع البرامج النصية 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top