كيفية تشغيل برامج ويندوز من ويندوز 10's باش شل
في تحديث Creators ، تسمح لك Bash shell لـ Windows 10 الآن بتشغيل ثنائيات Windows وأوامر Command Prompt القياسية ، مباشرة من Bash. يمكنك تشغيل كل من برامج Linux و Windows من نفس Bash shell ، أو حتى دمج أوامر Windows في البرنامج النصي Bash.
ما تحتاج إلى معرفته
فيما يلي بعض التفاصيل الأساسية التي تحتاج إلى معرفتها حول هذه الميزة:
- حساب المستخدم: سيتم تشغيل البرامج التي يتم إطلاقها من Shell Bash كما لو تم تشغيلها بواسطة حساب مستخدم Windows الحالي.
- أذونات: سيكون لهذه البرامج نفس الأذونات كعملية Bash.exe. لذلك ، إذا كنت تريد أن يكون لهذه الأوامر حق وصول المسؤول ، فستحتاج إلى تشغيل Bash shell كمسؤول.
- عمل اخراجي: تشارك برامج Windows نفس "دليل العمل" كقسم Bash. لذا ، إذا قمت بتشغيل أمر يسرد محتويات الدليل الحالي ، فسوف يسرد محتويات دليل العمل الحالي في shell Bash. استخدم ال
القرص المضغوط
الأمر لتغيير الدلائل العمل.
مع أخذ ذلك في الاعتبار ، دعونا نلقي نظرة على كيفية تشغيل البرنامج.
كيفية تشغيل برنامج ويندوز
لتشغيل برنامج Windows ، أدخل المسار إلى ملف exe للبرنامج في shell Bash. تذكر أن محرك الأقراص Windows C: متوفر في / mnt / c في Bash. كما أن بيئة Bash حساسة لحالة الأحرف ، لذا يجب عليك تحديد الكتابة بالأحرف الكبيرة الصحيحة.
لنفترض أنك تريد تشغيل الأداة المساعدة Ping الموجودة في C: \ Windows \ System32 \ PING.EXE. قمت بتشغيل الأمر التالي:
/mnt/c/Windows/System32/PING.EXE
لن يعمل الأمر التالي ، لأن Bash حساس لحالة الأحرف:
/mnt/c/windows/system32/ping.exe
هذا أكثر تعقيدًا قليلاً إذا احتوى المسار على أحرف معقدة مثل المسافات والأقواس ، مثل مجلدات Program Files. يجب عليك "هروب" المسافات والأقواس والأحرف المعقدة الأخرى عن طريق إدخالها في حرف "\".
على سبيل المثال ، لنفترض أنك تريد تشغيل برنامج Internet Explorer الموجود في C: \ Program Files (x86) \ Internet Explorer \ iexplore.exe. سيكون عليك تشغيل الأمر التالي في Bash:
/ mnt / c / Program \ Files \ \ (x86 \) / Internet \ Explorer / iexplore.exe
لاحظ "\" قبل الأحرف والمسافات. يجب أن تكون هذه الأحرف "مهيأة" أو لا يدرك باش أن الأحرف جزء من مسار الملف.
كيفية تمرير الوسيطة إلى القيادة
يمرر Bash shell الوسيطات مباشرة إلى الأوامر التي تنفذها.
على سبيل المثال ، إذا كنت تريد تنفيذ الأمر ping example.com ، فستعمل على النحو التالي:
/mnt/c/Windows/System32/PING.EXE example.com
أو ، إذا كنت تريد فتح ملف Windows hosts في "المفكرة" ، فستعمل على:
/mnt/c/Windows/System32/notepad.exe "C: \ Windows \ System32 \ drivers \ etc \ hosts"
يمكنك استخدام مسار ملف Windows القياسي عند تمرير مسار الملف مباشرة إلى برنامج Windows. ذلك لأن باش يمر بالحجة مباشرة. يتوقع Notepad.exe وبرامج Windows الأخرى مسار ملف Windows.
كيفية تشغيل المدمج في القيادة
بعض أوامر Windows ليست ملفات exe. ولكنها مضمنة في موجه الأوامر نفسه. على سبيل المثال ، يتضمن هذا دير
الأمر الذي قد تديره عادة في موجه الأوامر. لتشغيل هذا الأمر ، تحتاج إلى تشغيل CMD.EXE
ثنائي المرتبطة موجه الأوامر ثم تمرير الأمر كوسيطة مع / C ، مثل:
/mnt/c/Windows/System32/cmd.exe / C الأمر
على سبيل المثال ، لتشغيل دير
الأمر المضمّن في موجه الأوامر ، يمكنك تشغيل الأمر التالي:
/mnt/c/Windows/System32/cmd.exe / C dir
كيفية إضافة الدلائل إلى المسار
تقوم بيئة خدمات Windows لـ Linux بمعاملة ملفات Windows التنفيذية المشابهة للطريقة التي تتعامل بها مع ثنائيات Linux. هذا يعني أنه يمكنك إضافة دليل يحتوي على ملفات .exe إلى المسار ثم تنفيذ هذه الملفات. exe مباشرة. على سبيل المثال ، لإضافة دليل System32 إلى المسار الخاص بك ، يمكنك تشغيل:
تصدير PATH = $ PATH: / mnt / c / Windows / System32
يمكنك بعد ذلك تشغيل ملفات .exe Windows الموجودة في المجلد System32 مباشرةً ، كما يلي:
PING.exe example.com
NOTEPAD.EXE
cmd.exe / C dir
كيفية الانبوب الناتج من قيادة واحدة الى اخرى
يمكن توجيه إخراج أمر Windows إلى أمر Linux ، والعكس بالعكس. على سبيل المثال ، يمكنك استخدام ipconfig.exe -all
أمر لسرد تفاصيل عن واجهات الشبكة الخاصة بك وتوجيهها إلى نظام التشغيل Linux البقرى
الأمر للبحث في الإخراج. على سبيل المثال ، لسرد كل المعلومات المتعلقة بالاتصال والبحث عن الأقسام التي تطابق "عنوان IPv4" ، يمكنك تشغيل:
/mnt/c/Windows/System32/ipconfig.exe -all | grep "عنوان IPv4"
هذه هي العملية الأساسية. وستعمل هذه الأوامر أيضًا عندما يتم دمجها في برنامج نصي Bash ، بحيث يمكنك كتابة برنامج نصي Bash يشتمل على كل من أوامر Windows وأدوات مساعدة Linux. إذا كان يعمل في shell Bash ، فسيعمل في البرنامج النصي Bash.
وإذا كنت تريد أن تمضي في الاتجاه الآخر ، فيمكنك استخدام الأمر "bash -c" لتشغيل أوامر Bash من موجه أوامر Windows القياسي.