تصدير متغير
جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 63 من 82.
عندما تقوم بضبط متغير مثل MY_NAME="Alice"، فإنه يوجد فقط في جلسة terminal الحالية الخاصة بك. إذا قمت بتشغيل برنامج نصي أو بدأت برنامجًا آخر، فلن يكون هذا المتغير متاحًا له. وهنا يأتي دور export.
يقوم الأمر export بتقديم متغير ليكون متاحًا لأي عمليات فرعية (child processes)، مما يعني أن البرامج أو البرامج النصية (scripts) التي يتم تشغيلها من الطرفية الحالية يمكنها الوصول إليه:
export MY_NAME="Alice"يمكنك أيضًا تصدير متغير موجود بالفعل:
MY_NAME="Alice"
export MY_NAMEتحقق كلا الطريقتين نفس النتيجة. يصبح المتغير جزءًا من البيئة التي يتم تمريرها إلى أي أمر تقوم بتشغيله بعد ذلك.
لرؤية الفرق، جرب تشغيل نص برمجي يحاول استخدام $MY_NAME.
بدون `export`، لن يرى النص البرمجي أي شيء. باستخدام `export`، يمكن للنص البرمجي الوصول إلى القيمة.
هذا هو السبب في أن متغيرات النظام مثل PATH و HOME يتم تصديرها بشكل افتراضي. يجب أن تكون متاحة لكل برنامج تقوم بتشغيله.
يمكنك التحقق من تصدير متغير من خلال التأكد مما إذا كان يظهر في مخرجات env:
env | grep MY_NAMEالمتغيرات المصدّرة بـ `export` تظل تختفي عند إغلاق الـ `terminal`. يغطي الدرس التالي كيفية جعل المتغيرات تستمر عبر الجلسات.
التحدي
سهلقم بتصدير متغير يُسمى PROJECT بالقيمة terminal-course، ثم تحقق من تصديره عن طريق تصفية مخرجات env لإظهار متغيرك الجديد فقط.
يمكنك القيام بذلك في سطر واحد باستخدام export لتعيين المتغير وتصديره في وقت واحد، ثم توجيه مخرجات env عبر grep للعثور عليه.
يجب أن يكون الناتج الخاص بك:
PROJECT=terminal-courseتلميح: قم أولاً بتشغيل
export PROJECT="terminal-course"، ثم استخدمenv | grep PROJECTللتحقق من ظهوره في البيئة.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر