Omnikit
المطورونالملفاتالمالجميع الأدوات
Ctrl K
أدوات المطورينأدوات الملفاتالحاسبات الماليةجميع الأدوات
الرئيسيةأدوات المطورينمدقق ملفات .env
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

مدقق ملفات .env

مطورون

افحص ملف .env سطرًا بسطر كما يقرؤه dotenv، وحوّله إلى JSON أو YAML

يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان. تم التحقق في 16 أكتوبر 2026.

يحتوي ملف .env على KEY=value واحد في كل سطر، ويقرؤه الحزمة dotenv والأدوات المشابهة. تبدأ العلامة # تعليقًا حتى داخل قيمة بلا علامات اقتباس، لذا يُقرأ PASSWORD=abc#123 على أنه abc. تحافظ علامات الاقتباس على المسافات وعلامات #، وتحوّل علامات الاقتباس المزدوجة \n إلى سطر جديد، وعندما يظهر المفتاح مرتين تُعتمد القيمة الأخيرة.

تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي

التالي:
  • مدقق Dockerfile افحص ملف Dockerfile وفق 55 قاعدة من hadolint: الإصدارات المثبتة ومستخدم root وذاكرة التخزين المؤقت والمزيد
  • تحويل YAML إلى JSON حوّل YAML إلى JSON وJSON إلى YAML، مع حلّ المراسي

كيف تفحص ملف .env بحثًا عن الأخطاء

1

الصق ملف .env في اللوحة اليسرى، أو انقر على فتح ملف.

2

اقرأ المشكلات أسفلها: تذكر كل مشكلة سطرها، وينقل السطر N المؤشر إليه.

3

اختر صيغة، JSON أو YAML أو Shell export أو ملف env لـ Docker أو .env.example، لترى المتغيرات بعد التحويل.

4

انقر على نسخ، أو على تنزيل لحفظ الملف المحوَّل.

حول مدقق ملفات .env

يبدو ملف .env بسيطًا، لكن الهفوات الصغيرة تغيّر ما يتلقاه البرنامج دون أي خطأ: علامة # داخل كلمة مرور تقطعها، وعلامة اقتباس غير مغلقة تصبح جزءًا من القيمة، وسطر ثانٍ بالمفتاح نفسه يحل محل الأول بصمت. تقرأ هذه الأداة الملف تمامًا كما تقرؤه الحزمة dotenv وتعرض كل سطر من هذا النوع.

ما الذي يُفحص، مع رقم السطر لكل حالة:

المشكلة مثال ما يحدث
ليس إسنادًا just some text يُتجاهل
# في قيمة بلا علامات اقتباس PASS=abc#123 يُقرأ على أنه abc
علامة اقتباس غير مغلقة NAME="Asha تحتفظ القيمة بعلامة الاقتباس
مفتاح مكرر PORT مرتين يُعتمد الأخير
اسم ترفضه الصدفة (shell) feature.flags=on يفشل source .env
مرجع غير معرَّف ${REDIS_HOST} يبقى كما كُتب
مسافات بلا علامات اقتباس FROM=Example Team يتعطل في الصدفة

الأخطاء هي أسطر يتجاهلها dotenv أو يقرؤها خطأً؛ والتحذيرات تعمل في dotenv لكن ليس في الصدفة أو Docker أو Compose؛ أما الملاحظات، مثل القيمة الفارغة، فهي للعلم فقط.

التحويلات. يمكن نسخ المتغيرات، كما يقرؤها dotenv، أو تنزيلها بـ 5 صيغ: كائن JSON؛ وYAML مع إبقاء كل قيمة سلسلة نصية حتى لا يُعاد تفسير 0123 وtrue؛ وأسطر export للصدفة بعلامات اقتباس مفردة آمنة؛ وملف env لـ Docker، وهو لا يقبل القيم متعددة الأسطر؛ و.env.example يضم كل مفتاح دون قيم، جاهزًا للإيداع (commit).

تُطابَق القراءة مع dotenv نفسه على 401 ملف اختبار، بما فيها المفاتيح متعددة الأسطر ونهايات الأسطر CRLF وكل أنماط علامات الاقتباس. لا يُوسَّع أي شيء: يبقى ${OTHER} كما كُتب، كما في dotenv العادي.

يبقى الملف في ذاكرة متصفحك فقط. لا يُرفع أبدًا ولا يُخزَّن، ويختفي عند إغلاق الصفحة، لذا يمكنك لصق أسرار حقيقية بأمان.

الأسئلة الشائعة

لماذا يُقطع متغير .env عند العلامة #؟

في ملف .env تبدأ العلامة # تعليقًا، حتى في منتصف قيمة بلا علامات اقتباس، لذا يُقرأ PASSWORD=abc#123 على أنه abc. ضع القيمة بين علامتي اقتباس، PASSWORD="abc#123" أو PASSWORD='abc#123'، فيُحفظ النص كاملًا. يُشار هنا إلى كل سطر فيه هذه المشكلة مع رقمه.

هل يمكن أن تحتوي قيمة .env على مسافات؟

نعم. يزيل dotenv المسافات من الطرفين لكنه يحتفظ بالمسافات الداخلية، لذا يعمل NAME=Example Team. لكن الصدفة التي تنفذ source .env ستتعطل عند المسافة، ويحتفظ Docker بكل شيء حرفيًا. أما وضع القيم التي تحتوي على مسافات بين علامتي اقتباس، NAME="Example Team"، فيعمل بالطريقة نفسها في dotenv وCompose والصدفات.

كيف أكتب قيمة متعددة الأسطر في ملف .env؟

ضع القيمة بين علامتي اقتباس مزدوجتين، ثم إما أن تكسر الأسطر فعليًا أو تكتب \n في موضع كل فاصل. يقرأ dotenv الطريقتين، ولا يحوّل \n إلى سطر جديد إلا داخل علامات الاقتباس المزدوجة. تمتد علامات الاقتباس المفردة وعلامات backtick أيضًا عبر عدة أسطر لكنها تُبقي \n كما كُتب. أما ملف env لـ Docker فلا يقبل القيم متعددة الأسطر إطلاقًا.

ماذا يحدث عندما يظهر مفتاح مرتين في ملف .env؟

تُعتمد القيمة الأخيرة دون أي تحذير من dotenv، لذا قد يُستبدل PORT المعرَّف في الأعلى بصمت بـ PORT آخر في الأسفل. تعرض هذه الأداة كل تكرار مع سطر التعريف الأول، لتتمكن من حذف الذي لا ينبغي أن يكون موجودًا.

هل تُوسَّع ${VARIABLES} في ملف .env؟

ليس بواسطة dotenv نفسه: يبقى API=${HOST}/api تمامًا كما كُتب. أما Docker Compose والحزمة dotenv-expand فيستبدلان ${HOST} بقيمته، ويوفر ${HOST:-fallback} قيمة افتراضية عندما لا يكون HOST معيَّنًا. يُشار هنا إلى المراجع لأسماء لا يعرّفها الملف أبدًا، لأنها تصبح فارغة في تلك الأدوات.

هل لصق ملف .env يحتوي على أسرار حقيقية هنا آمن؟

نعم. يقرأ الملفَ كودٌ يعمل في متصفحك أنت؛ لا يُرفع شيء ولا يُسجَّل ولا يُخزَّن، ويختفي الملف عند إغلاق الصفحة أو إعادة تحميلها. وبخلاف صيغة الإخراج التي تُحفظ، لا يُحفظ النص الذي تلصقه أبدًا، ولا حتى في مساحة تخزين متصفحك.

المصادر

  • dotenv README, What rules does the parsing engine follow? (motdotla/dotenv)Comments, quotes, multi-line values, \n expansion and duplicates
  • POSIX.1-2024 Base Definitions, 3.216 Name (The Open Group)Which variable names a shell accepts
  • Docker Docs, docker container run, --env-fileDocker env files are read line by line, literally
  • Docker Docs, Interpolation in Compose${VAR} and ${VAR:-default} references

آخر تحقق في 16 أكتوبر 2026.

تتغير المعدلات والقواعد؛ راجع المصدر قبل الاعتماد على أي رقم.

هل ما زلت عالقًا؟ اسأل عن مدقق ملفات .env ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.

أدوات ذات صلة

جميع أدوات المطورين
مختبر التعبيرات النمطيةاختبر التعبيرات النمطية في JavaScript مع تمييز مباشر وشرح بلغة واضحةمقارنة النصوصقارن نصّين جنبًا إلى جنب وشاهد كل سطر أُضيف أو حُذفمقارنة JSONقارن مستندين بصيغة JSON واعرض كل قيمة أُضيفت أو حُذفت أو تغيّرتمعاينة Open Graphالصق صفحة وشاهد بطاقة المشاركة على Facebook وLinkedIn وX وWhatsApp وSlackكثافة الكلمات المفتاحية وسهولة القراءةعدد الكلمات والعبارات وكثافتها ووقت القراءة ودرجة سهولة القراءة Fleschرموز حالة HTTPكل رموز حالة HTTP، ومعناها، ومتى تُرسل، والمواصفة RFC التي جاءت منهامحلل وكيل المستخدماقرأ سلسلة وكيل المستخدم: المتصفح والمحرك ونظام التشغيل ونوع الجهاز وهل هو روبوتمختبر JSONPathشغّل استعلامات JSONPath وفق RFC 9535 على JSON ملصوق وشاهد كل تطابق مظلّلًا
هل كانت هذه الأداة مفيدة؟
Omnikit

مهام صغيرة تُنجز في متصفحك. مجانية وسريعة وخاصة. لا تُرفع الملفات أبدًا.

الملفات

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

المطورون

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

المال

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
الأدلةالأسئلةمن نحنكيف نتحققمكتبة القوانين (تجريبية)الخصوصيةالشروطالإفصاحاتصل بناMore: Exam practice (UGC NET Paper 1)يعمل في متصفحك. لا يُرفع أي شيء. © 2026 Omnikit (theomnikit.com)