English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Shell

دليل Linux المرجعي

Shell هو برنامج يُكتب بلغة C، وهو الجسر الذي يستخدمه المستخدمون للوصول إلى خدمات النواة للنظام الوسيط. Shell هو لغة أمر و هو أيضًا لغة برمجة.

sh Ken Thompson هو أول Unix Shell، Windows Explorer هو Shell واجهة رسومية نموذجي.

Shell سكربت

سكربت Shell (shell script)، هو برنامج مكتوب لـ Shell.

ما يُقال في الصناعة عن Shell عادةً هو السكربتات، ولكن يجب أن يعلم القارئ أن Shell و Shell script هما مفهومين مختلفين.

بسبب العادات، ولمعنى التبسيط، تشير "برمجة Shell" في هذا المقال إلى برمجة السكربتات، وليس إلى تطوير Shell نفسه.

بيئة Shell

برمجة Shell تشبه برمجة JavaScript و php، فكل ما تحتاجه هو محرر نصوص يمكنه كتابة الكود ومحلل يمكنه تنفيذه.

هناك أنواع متعددة من Shell في Linux، الأكثر شيوعًا هي:

  • Bourne Shell (/usr/bin/sh أو /bin/sh)

  • Bourne Again Shell (/bin/bash)

  • C Shell (/usr/bin/csh)

  • K Shell (/usr/bin/ksh)

  • Shell for Root (/sbin/sh)

  • ……

يتمركز هذا الدليل على Bash، وهو Bourne Again Shell، بسبب سهولة الاستخدام والتحرير، يتم استخدامه بشكل واسع في العمل اليومي. كما أن Bash هو Shell الافتراضي في معظم أنظمة Linux.

في العادة، لا يفرق الناس بين Bourne Shell و Bourne Again Shell، لذا، مثل #!/bin/sh، يمكن أيضًا تغييره إلى #!/bin/bash.

#! يخبر النظام أن البرنامج المحدد في المسار التالي هو Shell يفسر هذا السكربت.

أول سكربت shell

فتح محرر النصوص (يمكنك استخدام الأمر vi/vim لإنشاء ملف)، أنشئ ملفًا جديدًا test.sh، بسطر التوسع sh (sh يعني shell)، لا يؤثر اسم التوسع على تنفيذ السكربت، يكفي أن يكون الاسم واضحًا، إذا كنت تكتب سكربت shell بلغة php، استخدم التوسع php.

تدخل بعض الكود، عادةً يكون الخط الأول كالتالي:

مثال

#!/bin/bash
echo "Hello World !"

#! يعد علامة اتفاقية تخبر النظام بأن هذا السكرابت يحتاج إلى معلومج تشغيل معين للتنفيذ، أي أي نوع من Shell سيستخدم.

يستخدم أمر echo لتحويل النص إلى نافذة.

هناك طريقتان لتشغيل سكرابت Shell،

1- كبرنامج قابل للتنفيذ

احفظ الكود أعلاه كـ test.sh، ثم انتقل إلى الدليل المطلوب باستخدام cd:

chmod +x ./test.sh  #إعطاء السكرابت صلاحية التنفيذ
./test.sh  #تشغيل السكرابت

انتبه، يجب كتابته ./test.sh،بدلاً من test.sh،يمكن تشغيل برامج ثنائية أخرى بنفس الطريقة، اكتب test.sh، سيبحث نظام Linux في PATH لمعرفة ما إذا كان هناك ملفًا يُدعى test.sh، لكن الدليل الحالي عادةً لا يحتوي على PATH، لذا سيكون كتابة test.sh غير قادر على العثور على الأمر، ويجب استخدام ./test.sh لإخبار النظام أن يبحث في الدليل الحالي.

2- كمعلمات للمعلوماتج التشغيل

طريقة التشغيل هذه هي تشغيل معلومج التشغيل مباشرة، والمعلمات هي اسم ملف السكرابت، مثل:

/bin/sh test.sh
/bin/php test.php

لا تحتاج إلى تحديد معلومات معلومج التشغيل في الخط الأول للسكرابت الذي يعمل بهذه الطريقة، وسيكون غير مفيد إذا كتبت.