أداة تهريب وسائط الصدفة
اقتبس أي سلسلة بأمان لـ POSIX sh/Bash/Zsh (اقتباس مفرد) أو ANSI-C $'…' في Bash أو PowerShell، أو حلّل كلمات الصدفة المقتبسة إلى قيمها.
19 حرفًا · 19 بايت (UTF-8)
0 حرفًا · 0 بايت (UTF-8)
يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو تهريب Shell؟
تحوّل أي نص إلى وسيط صدفة واحد تمرره الصدفة دون تغيير، بما فيه علامات الاقتباس و$ والعلامات الخلفية والمسافات والأسطر الجديدة. تدعم صدفات POSIX واقتباس ANSI-C في Bash/Zsh وPowerShell، ويمكنها تحليل الكلمات المقتبسة عكسيًا.
كيفية استخدام تهريب Shell
- اختر تهريب أو إلغاء التهريب.
- حدّد الصدفة (Shell): POSIX sh/Bash/Zsh أو Bash/Zsh ANSI-C أو PowerShell.
- يمكنك اختياريًا معاملة كل سطر كوسيط منفصل أو إضافة علامات الاقتباس دائمًا.
- الصق القيمة في الإدخال وانسخ الوسيط المقتبس من الإخراج.
مثال
It's $HOME
'It'\''s $HOME'
متى تستخدم تهريب Shell
استخدمها عند بناء أوامر تحتوي أسماء ملفات أو كلمات مرور أو مدخلات مستخدم، في السكربتات وأوامر SSH وإعدادات CI والتوثيق. لا يُدعم cmd.exe في Windows لأنه لا يملك اقتباسًا آمنًا لكل المدخلات. وفضّل تمرير مصفوفات الوسائط (مثل execFile وsubprocess.run([...])) على بناء سلاسل الصدفة في البرامج.
كيف يعمل تهريب Shell
يغلّف وضع POSIX النص بعلامات اقتباس مفردة لا يكون فيها أي شيء خاصًا، ويكتب كل ' بصيغة '\'' (إغلاق الاقتباس ثم اقتباس مهرَّب ثم إعادة الفتح)، وهو النهج نفسه في shlex.quote في Python. أما الكلمات البسيطة المؤلفة فقط من A–Z a–z 0–9 _ @ % + = : , . / - فتُترك دون اقتباس ما لم تطلب الاقتباس. وينتج وضع ANSI-C الصيغة $'…' مع تهريبات \n و\t و\' و\xHH التي تُظهر محارف التحكم بوضوح. ويستخدم وضع PowerShell الاقتباس المفرد ويضاعف كل اقتباس مفرد (بما فيه ‘ ’ الطباعية). ويحلل وضع إلغاء التهريب الكلمات كما تفعل الصدفة (الاقتباس والشرطات المائلة العكسية و$'…') دون إجراء أي توسعة.
حالات الاستخدام الشائعة
- تمرير اسم ملف يحوي مسافات أو علامات اقتباس إلى أمر
- تضمين حمولة JSON في أمر
curl - اقتباس الوسائط لـ
ssh host "command" - فهم ما يمرره سطر أوامر مقتبس معقد فعليًا
ملاحظة أمنية
الاقتباس الصحيح يمنع حقن الأوامر فقط عندما تُستخدم القيمة المقتبسة كوسيط واحد؛ وهو لا يجعل أمرًا غير آمن آمنًا.
الأسئلة الشائعة
لماذا لا نستخدم علامات الاقتباس المزدوجة فقط؟
داخل علامات الاقتباس المزدوجة ما زالت الصدفة توسّع $VAR والعلامات الخلفية و\. أما الاقتباس المفرد فيعطل كل توسعة، ولهذا هو آمن لأي نص.
ماذا يعني '\''؟
ينهي الجزء المقتبس بعلامة مفردة، ويضيف علامة اقتباس حرفية مهرَّبة، ويبدأ جزءًا جديدًا مقتبسًا بعلامة مفردة. وتضم الصدفة القطع في وسيط واحد.
هل يُدعم cmd.exe في Windows؟
لا. ليس في cmd.exe اقتباس يحمي بموثوقية محارف مثل % و^ في كل سياق. استخدم وضع PowerShell أو تجنب الصدفة.