




السمعة:
- إنضم14 سبتمبر 2023
- المشاركات 228
- الحلول 1
- مستوى التفاعل 193
- النقاط 43
بسم الله الرحمن الرحيم
السلام عليكم أصدقائي

خلال الفترة الماضية، بدأت أتعلم بعض الأمور حول Shell وأردت أن أشارككم هذه المعلومات.
ليس الكثير من المعلومات لكن القليل عن تاريخ الموضوع وإنشاء الملف وأمور عن الطباعة.
ليس الكثير من المعلومات لكن القليل عن تاريخ الموضوع وإنشاء الملف وأمور عن الطباعة.
ما هو Shell؟
ببساطة، الـ Shell هو برنامج يمكننا من التواصل مع نظام التشغيل عبر كتابة الأوامر. هذا التفاعل يساعدنا على أداء العديد من المهام مثل إدارة الملفات، تثبيت البرامج، وإدارة النظام بشكل عام.
ما قبل لينكس:
|
---|
قبل ظهور لينكس، كانت أنظمة التشغيل Unix تستخدم عدة أنواع من الشيل، مثل Bourne Shell (sh) و C Shell (csh) و Korn Shell (ksh). هذه الشيل كانت توفر واجهة سطر الأوامر للتفاعل مع النظام |
2- Thompson shell |
---|
كانت واجهة تومسون هي واجهة يونكس الأولى، والتي تم تقديمها في الإصدار الأول من يونكس في عام 1971، وقد كتبها كين تومسون.كانت عبارة عن مفسر أوامر بسيط، غير مصمم للبرمجة النصية، ولكنها مع ذلك قدمت العديد من الميزات المبتكرة لواجهة سطر الأوامر وأدت إلى تطوير واجهات يونكس اللاحقة |
|
---|
أنشأه بيل جوي عندما كان طالب دراسات عليا في جامعة كاليفورنيا، بيركلي في أواخر السبعينيات تم توزيعه على نطاق واسع لأول مرة في عام 1978 |
4- Bourne Shell |
---|
تم تطويره بواسطة ستيفن بورن في مختبرات بيل، وكان بديلاً لواجهة تومسون(Thompson shell)، التي كان ملفها القابل للتنفيذ يحمل نفس الاسم -sh. تم إصداره في عام 1979 في إصدار يونكس 7 الموزع على الكليات والجامعات. على الرغم من أنه يستخدم كمترجم أوامر تفاعلي، إلا أنه كان مخصصًا أيضًا كلغة برمجة نصية ويحتوي على معظم الميزات التي تعتبر عادةً لإنتاج برامج منظمة. |
5- Korn Shell (ksh) |
---|
هي واجهة برمجة تطبيقات يونكس تم تطويرها بواسطة ديفيد كورن في مختبرات بيل في أوائل الثمانينيات وتم الإعلان عنها في مؤتمر USENIX في 14 يوليو 1983 |
بداية لينكس:
عند تطوير لينكس في أوائل التسعينيات، تم اختيار (bash) كالشيل الافتراضي. Bash هو تحسين لـ Bourne Shell ويشمل ميزات من C Shell وKorn Shell، مما يجعله أكثر قوة ومرونة.
كتابة السكربت: |
---|
ابدأ بكتابة السكربت, في العادة يبدأ برنامج shell في النص التالي:
Bash:
السطر bin/bash/!# يُعرف بـ “shebang” أو “hashbang”. وهو يُستخدم في بداية سكربتات الشل لتحديد المفسر الذي يجب استخدامه لتشغيل السكربت. !#: هذا الجزء يُعرف بـ “shebang”. وهو يُخبر النظام بأن الملف هو سكربت ويجب تشغيله باستخدام المفسر المحدد بعده. bin/bash/: هذا هو المسار إلى مفسر الشل (Bash) الذي سيقوم بتشغيل السكربت. في هذه الحالة، يشير إلى Bash الموجود في دليل /bin هذا الأمر يعرض المسار الكامل للشل الحالي المستخدم:
Bash:
في توزيعات Garuda مستخدم fish و هو بتل bash بس أحدث سهولة الاستخدام و الإكمال التلقائي الذكي , عندما تقوم بتشغيل السكربت، يقوم النظام بقراءة السطر الأول ويستخدم المفسر المحدد لتشغيل الأوامر الموجودة في السكربت. إذا لم تقم بتضمين هذا السطر، فقد لا يعرف النظام أي مفسر يستخدم، مما قد يؤدي إلى أخطاء ممكن عدم استخدم هذا السطر بس عند استخدام السكربت لازم أعرف المترجم في هذا الشكل. عندي سكربتا في هاد الشكل: عند استخدام السكربت لازم استخدمها في هاد الشكل:
Bash:
bash : هو اسم المفسر يعني عم أعطي خبر لسطر الأومر أنه استخدم هذا المفسر لتشغيل السكربت. بس الشكل الصحيح هو في البداية تعريف shebang في بداية السكربت بعدين اعطي صلاحيات التنفيذ للملف تعريف shebang: بالطريقة هي بعطي صلاحيات التنفيذ:
Bash:
755 : أي أن الجميع يستطيع تشغيل التطبيق أو:
Bash:
700: بس منشان المحرر يقدر يشغل السكربت بعد إعطاء الصلاحيات, يتم التنفيذ في هي الطريقة:
Bash:
|
المرفقات
التعديل الأخير بواسطة المشرف: