درآمدی بر Environment Variables در لینوکس


درآمدی بر Environment Variables در لینوکس


تقریباً می‌شود گفت که تمامی اسکریپت‌ها از Variable (متغیر) که حاوی یک Value (مقدار) باشد استفاده می‌کنند که کاربرد متغیرها بدین شکل است که در هر کجای دیگر اسکریپت می‌توانید مقادیر آن‌ها را مورد استفاده قرار دهید. لازم به‌ذکر است که متغیرها هم توسط کاربر و هم توسط سیستم قابل تعریف شدن هستند و این درحالی است که بسیاری اپلیکیشن‌ها از این متغیرها برای تسک‌های مختلفی من‌جمله کنترل رفتار سیستم استفاده می‌کنند.

به‌عنوان برخی از نمونه Environment Variable (متغیرهای محیطی) می‌توان به HOME ،PATH و HOST اشاره کرد؛ به‌خاطر داشته باشیم وقتی که این متغیرهای محیطی را می‌خواهیم استفاده کنیم، حتماً یک علامت $ -مثل HOME$- باید قبل از آن‌ها قرار دهیم. برای این‌ هم که بتوانیم مقادیر ذخیره در این متغیرها را نمایش دهیم، می‌توانیم به‌صورت زیر عمل کنیم:

درعین‌حال برای مقداردهی و آپدیت مقادیر این نوع متغیرها نیازی به هیچ‌گونه پیشوندی -مثلاً علامت $- نیست؛ به‌طور مثال،‌ برای ایجاد یک متغیر تحت‌عنوان MYCOLOR و اختصاص رنگ آبی به آن، به‌صورت زیر عمل می‌کنیم:

نکته
برای دستیابی به لیستی از متغیرهای محیطی، می‌توان از کامندهای env و printenv استفاده کرد.

به خاطر داشته باشید
همان‌طور که در کامند فوق مشاهده می‌شود، مابین MYCOLOR و علامت = و blue هیچ فاصله‌ای وجود ندارد و درصورتی‌که به اشتباه فاصله‌ای مابین آن‌ها قرار گیرد سیستم ارور خواهد داد.

خروجی گرفتن از متغیرها
به‌صورت پیش‌فرض، متغیرهایی که داخل یک اسکریپت ساخته‌ می‌شوند صرفاً در همان اسکریپت در دسترس می‌باشند که کلیهٔ فرایندهای جانبی که تحت‌عنوان Sub-Shell شناخته می‌شوند به چنین متغیرهایی دسترسی ندارند. برای آن که بتوانیم از طریق اسکریپت‌های زیرشاخه به این متغیرهای دسترسی داشته باشیم، متغیرهای ایجاد شده می‌بایست بااستفاده از دستور export به Environment Variableها ارتقأ یابند؛ در همین راستا داریم:

توجه داشته باشیم که متغیرهای اکسپورت شده به اشتراک گذاشته نمی‌شوند بلکه صرفاً کپی می‌شوند و به همین دلیل هم هست که اگر تغییری در مقادیر متغیرها توسط اسکریپت‌های زیرشاخه صورت گیرد، این تغییرات توسط اسکریپت اصلی مشاهده نخواهند شد. برای روشن‌تر شدن این مسئله، مثالی می‌زنیم:

در این مرحله توانسته‌ایم متغیری تحت‌عنوان SITE ایجاد کنیم؛ حال اقدام به استفاده از دستوری تحت‌عنوان export می‌کنیم:

اکنون دستور export را وارد کرده و اینتر می‌کنیم:

همان‌طور که می‌بینیم، در خط 49 متغیر محیطی ما تحت‌عنوان SITE اضافه شده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *