لتشغيل سكربت شل على نظام macOS ، افتح تطبيق Terminal، وانتقل إلى المجلد الذي يحتوي على .shالملف، ثم شغّله باستخدام مُفسّره. على سبيل المثال، bash hello.shيُشغّل الأمر `bash script` سكربت Bash دون تغيير صلاحياته. إذا كنت ترغب في تشغيله كأمر، فاجعله قابلاً للتنفيذ باستخدام الأمر `bash install` chmod +x hello.sh، ثم شغّله ./hello.sh. تعمل هذه الطرق على إصدارات macOS الحالية.
تحقق من البرنامج النصي قبل تشغيله
سكربت شل هو ملف نصي عادي يحتوي على أوامر. تُنفَّذ هذه الأوامر بصلاحيات حساب المستخدم الخاص بك، لذا يمكن للسكربت تعديل الملفات أو حذفها، أو تثبيت البرامج، أو إرسال البيانات عبر الشبكة. اقرأ السكربت الذي تتلقاه قبل تشغيله، خاصةً إذا طلب كلمة مرور المسؤول أو استخدم sudo. شغِّل السكربتات فقط من مصادر موثوقة؛ فتغيير صلاحيات الملف لا يجعل محتوياته آمنة.
تصف Apple البرامج النصية للصدفة بأنها ملفات نصية تحتوي على أوامر UNIX، وتشرح كيف يحدد سطر shebang الصدفة التي تُشغّل البرنامج النصي. راجع دليل Apple Terminal للبرامج النصية للصدفة .
قم بتشغيل سكربت .sh باستخدام Bash
هذه هي أبسط طريقة لتشغيل سكربت باش. لا تحتاج إلى إضافة إذن التنفيذ أولاً.
أنشئ أو حدد موقع البرنامج النصي. يمكن كتابة برنامج نصي باستخدام أي محرر نصوص عادي. لإجراء اختبار سريع، افتح برنامج TextEdit، واختر تنسيق > تحويل إلى نص عادي ، ثم أدخل هذين السطرين:
#!/bin/bash
echo "Hello from macOS"
احفظ الملف باسم hello.sh. في نافذة الحفظ، تأكد من أن الاسم ينتهي بـ .shوأن برنامج TextEdit لم يضف .txt. السطر الأول هو سطر shebang: يُعرّف Bash كمُفسّر عند تشغيل البرنامج النصي مباشرةً. السطر الثاني يطبع رسالة قصيرة.
يحتوي ملف hello.sh النموذجي على سطر shebang متبوعًا بأمر يقوم بطباعة نص.
افتح تطبيق Terminal وانتقل إلى مجلد الملف. اضغط على مفتاحي Command + Space، واكتب Terminal، ثم اضغط على مفتاح الإدخال (Enter). إذا كنت قد حفظت الملف في مجلد التنزيلات، فأدخل الأمر التالي:
cd ~/Downloads
اضغط على مفتاح الإدخال (Enter) بعد كل أمر. يمكنك كتابة الأمر lsلعرض قائمة الملفات والتأكد من hello.shوجودها. انتقل Downloadsإلى المجلد الذي استخدمته فعليًا. إذا كان اسم المجلد أو الملف يحتوي على مسافات، فضع المسار بين علامتي اقتباس، مثل: cd "$HOME/My Scripts".
استخدم الأمر cd لفتح المجلد الذي يحتوي على البرنامج النصي، ثم تحقق من اسمه باستخدام الأمر ls.
شغّل البرنامج النصي باستخدام Bash. أدخل اسم البرنامج النصي بعد bash:
bash hello.sh
يجب أن يعرض الطرفية Hello from macOS. إذا كان البرنامج النصي يستخدم صيغة Zsh بدلاً من Bash، فقم بتشغيله zsh hello.sh. عادةً ما تكون الصدفة التي تُفتح تفاعليًا في الطرفية هي Zsh، ولكن هذا لا يعني أنه يجب تشغيل كل برنامج نصي باستخدام Zsh؛ استخدم المفسر الذي كُتب البرنامج النصي من أجله. غالبًا ما يشير سطر shebang الخاص بالبرنامج النصي إلى هذا المفسر.
امنح إذن التنفيذ. في نافذة الطرفية نفسها وفي المجلد نفسه، شغّل الأمر التالي:
chmod +x hello.sh
يُضيف هذا الأمر صلاحية التنفيذ لهذا الملف. وهو تغيير لمرة واحدة فقط ما لم تُعاد ضبط الصلاحيات لاحقًا. تجنّب استخدام إعدادات صلاحيات أوسع من اللازم؛ chmod +xفهذا كافٍ لبرنامج نصي شخصي تملكه.
يُحدد الأمر chmod +x الملف hello.sh كملف قابل للتنفيذ.
قم بتشغيله من المجلد الحالي. اكتب:
./hello.sh
يُخبر هذا الأمر ./النظام بتشغيل الملف في المجلد الحالي. بدونه، يبحث النظام عادةً في المجلدات المدرجة PATHبدلاً من المجلد الحالي. إذا كنت في مكان آخر، فاستخدم الأمر cdللعودة إلى مجلد البرنامج النصي أو أدخل مساره الكامل، على سبيل المثال ~/Downloads/hello.sh.
تشغيل ./hello.sh يبدأ تشغيل البرنامج النصي القابل للتنفيذ ويعرض مخرجاته.
الأخطاء الشائعة وحلولها
بعد استخدام الأمر "تم رفض الإذن" ./hello.sh: تأكد من اسم الملف، ثم قم بتشغيله chmod +x hello.sh. أو استخدم الأمر bash hello.shإذا كان نصًا برمجيًا مكتوبًا بلغة Bash ولا تحتاج إلى تنفيذه مباشرةً.
"لا يوجد ملف أو مجلد بهذا الاسم": تأكد من المجلد باستخدام الأمر `construct` pwd، واعرض محتوياته باستخدام الأمر `construct` ls، وتحقق من التهجئة واستخدام الأحرف الكبيرة والصغيرة. تأكد من أن اسم الملف ليس هو `construct` hello.sh.txt.
"الأمر غير موجود" داخل البرنامج النصي: قد يعتمد البرنامج النصي على أداة غير موجودة أو مفقودة PATH. راجع وثائق البرنامج النصي قبل تثبيت أي شيء.
قد يشير ظهور رسالة "مترجم غير صالح" أو خطأ إلى أن ^Mالسطر الأول يشير إلى مترجم غير متاح، أو قد يستخدم الملف نهايات أسطر بنمط ويندوز. تحقق من سطر shebang واحفظ الملف بنهايات أسطر يونكس (LF).
أي طريقة يجب أن تستخدم؟
استخدم bash hello.shهذا الخيار لتشغيل سريع عندما تعلم أنه نص برمجي مكتوب بلغة Bash. استخدمه chmod +x hello.shمتبوعًا بـ ./hello.shعندما تريد تشغيله مباشرةً والسماح لسطر shebang الخاص به باختيار المفسر. لا تقوم أي من الطريقتين بتثبيت التبعيات المفقودة، أو إصلاح الأوامر غير المتوافقة، أو التحقق من موثوقية النص البرمجي.