بعضی کارها انقدر سادهان که انجام دادنشون مشکلی نداره، اما وقتی مجبور میشی روزی ده بار انجامشون بدی، رسماً روان آدمو بهم میریزن. 😵💫
مثلاً فرض کن پیچ گوشتی لازم داری، ولی هربار باید از ته خونه بری برش داری و برگردونی (مثلا توی اتاقت که انتهای خونست و از توی کمد دیواری دوم سمت راست )برش داری بیاری استفاده کنی و بعدش برش گردونی سرجاش .
مثلا:
تو آشپزخونه نیاز به پیچ گوشتی داری پس گردش بیخودی اول،
بعد از ده دقیقه توی پارکینگ نیاز به پیچ گوشتی داری پس گردش بیخودی دوم،
بعد از نیم ساعت تو ماشینت نیاز به پیچ گوشتی داری پس گردش بیخودی سوم
و...
هر بار که این اتفاق میفته، یه "گردش بیخودی" رقم میخوره!
حالا این فقط یه مثال فیزیکیه. تو دنیای کامپیوتر هم دقیقاً همین ماجرا رو داریم. باید هر بار برای اجرای یه ابزار یا استفاده از یه API، مسیر طولانی یا کلید رو دستی وارد کنیم. خستهکنندهس، نه؟ 😬
فرض کن میخوای توی پروژهات از ابزارهای مختلف مثل Android Emulator یا Node.js استفاده کنی. هر بار که بخوای این ابزارها رو اجرا کنی، باید مسیر کاملشون رو بنویسی. مثلاً برای اجرای Android Emulator، باید چیزی شبیه این تایپ کنی:
C:\Users\YourName\AppData\Local\Android\Sdk\emulator\emulator -avd Pixel_4_API_33
حالا اگه ده بار نیاز باشه که از ابزار Emulator استفاده بشه که شبیه ساز اندروید مربوط به Pixel_4 رو برات اجرا کنه که پوست آدم کنده میشه چون خیلی طولانیه و هر بار نوشتنش واقعاً خستهکننده میشه. حالا مشکل اینجاست که اگر این مسیر تغییر کنه یا پروژه به سیستم دیگه منتقل بشه، دوباره باید همه جا این مسیر رو اصلاح کنی.

ولی نگران نباش! راهحلش رو داریم: متغیرهای محیطی!
کافیه بیای این مسیر طولانی رو یک بار به متغیر محیطی (مثل PATH) اضافه میکنی. مثلاً در ویندوز مسیر C:\Users\YourName\AppData\Local\Android\Sdk\emulator رو به متغیر PATH اضافه میکنی.
وقتی این کار رو کردی، میتونی فقط با نوشتن دستور زیر توی ترمینال یا powershell یا ... ، بدون نیاز به مسیر کامل، Emulator رو اجرا کنی:
emulator -avd Pixel_4_API_33

مثال دیگه ای هم هست:
فرض کن توی پروژهای نیاز به یک کلید API داری (مثل کلید Google Maps). اگر این کلید رو مستقیم توی کد بذاری، این مشکلات پیش میاد:
API_KEY اضافه کنی. بعد توی کدت بهجای نوشتن مستقیم کلید، از این متغیر استفاده میکنی:const apiKey = process.env.API_KEY
