كيفية تشغيل أوامر الطرفية من خلال سكربت على نظام macOS
لتشغيل أوامر Terminal من خلال سكربت على نظام macOS، ضعها في سكربت نصي عادي، واجعله قابلاً للتنفيذ، ثم شغّله من Finder أو Terminal. استخدم .commandإضافة لفتحه بالنقر المزدوج. لا يتجاوز السكربت ضوابط الخصوصية في macOS ولا يمنح صلاحيات المسؤول.
يبدأ نص برمجي قصير بـ shebang الذي يختار zsh.
1. اكتب الأوامر في ملف نصي عادي
ملف سطر الأوامر هو ملف نصي يحتوي على أوامر. ابدأ تشغيله باستخدام سطر shebang ، وهو السطر الأول الذي يُحدد لنظام macOS نوع الصدفة التي يجب أن تُفسر الملف. الصدفة الافتراضية الحالية لنوافذ Terminal الجديدة هي zsh، مع إمكانية تغييرها افتراضيًا من قِبل المسؤول، كما هو موضح في دليل Terminal الخاص بشركة Apple . يستخدم هذا المثال zsh تحديدًا.
#!/bin/zsh
# Print a message when the script runs
echo "Script is running"
ضع الأوامر على أسطر منفصلة أسفل سطر shebang. يحدد سطر shebang المفسر، لذا استخدم الصيغة التي يدعمها؛ على سبيل المثال، يمكن أن يبدأ نص Bash البرمجي بـ #!/bin/bash. يشرح دليل Apple لكتابة النصوص البرمجية الأساسية.
يمكنك استخدام TextEdit، ولكن تأكد من أن الملف نص عادي: قد تكون مستندات TextEdit الجديدة منسقة. اختر "تنسيق" > "إنشاء نص عادي" ، أو اضبط تنسيق المستند الجديد في TextEdit على "نص عادي" من الإعدادات. تنسيق النص المنسق ليس كودًا برمجيًا. توثق Apple هذه الخيارات في دليل TextEdit الخاص بها . كما يمكنك استخدام محرر أكواد أو محرر سطر أوامر nano.
احفظ البرنامج النصي بامتداد .command في مكان يمكنك العثور عليه.
2. احفظه بامتداد .command.
احفظ ملف النص العادي باسم وصفي مثل MyScript.command. . يساعد الامتداد Finder على فتح البرنامج النصي في Terminal عند النقر المزدوج عليه. تشرح وثائق مطوري Apple المؤرشفة آلية عمل النقر المزدوج هذه لبرامج shell النصية. تحقق من الاسم النهائي في Finder: إذا انتهى بـ .command.txt، فأعد تسميته بحيث يكون الامتداد النهائي .command. فقط. احتفظ بالمثال في موقع مثل سطح المكتب أثناء إعداده.
إذا سأل نظام macOS عن الامتداد المراد استخدامه، فاحتفظ به .commandوتأكد من أن Finder لم يضفه .txt.
3. اجعل البرنامج النصي قابلاً للتنفيذ
افتح تطبيق Terminal وامنح حسابك إذن تشغيل الملف. بالنسبة للمثال المحفوظ على سطح المكتب، أدخل ما يلي:
chmod u+x "$HOME/Desktop/MyScript.command"
اضغط على زر الإدخال (Enter). u+xيُضيف هذا الأمر صلاحية التنفيذ للمالك؛ وتُستخدم علامات الاقتباس لحماية المسارات التي تحتوي على مسافات. استبدل المسار النموذجي إذا لزم الأمر. اسحب الملف إلى تطبيق Terminal أو استخدم قائمة النقر مع الضغط على مفتاح Option في Finder لنسخ مساره. تُوضح Apple نفس الطريقة في تعليماتها الخاصة بالملفات التنفيذية .
يُضيف الأمر chmod إذن التنفيذ لمالك الملف.
4. تشغيل البرنامج النصي
انقر نقراً مزدوجاً MyScript.commandفي Finder لتشغيله في Terminal. ستظهر المخرجات والأخطاء هناك. أو أدخل مساره الكامل:
"$HOME/Desktop/MyScript.command"
أو انتقل إلى المجلد أولاً، ثم أضف البادئة التالية إلى اسم الملف ./:
cd "$HOME/Desktop"
./MyScript.command
يُخبر ./هذا الأمر النظام بتشغيل ملف في المجلد الحالي. يشرح دليل أوامر Terminal من Apple كيفية تشغيل ملف تنفيذي باستخدام مساره.
قم بتشغيل الملف من خلال مساره وتحقق من الناتج في نافذة الطرفية.
استكشاف الأخطاء الشائعة وإصلاحها
"تم رفض الإذن": تأكد من تشغيل الأمر chmod u+xعلى الملف الصحيح. إذا لزم الأمر، كرر الأمر باستخدام المسار الكامل للملف. لا يعني جعل الملف قابلاً للتنفيذ السماح بتنفيذ جميع الأوامر الموجودة بداخله.
"لا يوجد ملف أو مجلد بهذا الاسم": تأكد من الموقع والتهجئة، بما في ذلك الامتداد. MyScript.command.txtلن يتطابق الملف الذي تم حفظه بالخطأ مع الأمر أعلاه. يمكن أن يساعدك سحب الملف إلى نافذة الطرفية في إدخال مساره.
يعمل الأمر عند كتابته يدويًا ولكنه لا يعمل في البرنامج النصي: قد يستخدم البرنامج النصي واجهة سطر أوامر مختلفة أو يعتمد على أسماء مستعارة أو متغيرات بيئية أو دليل عمل من جلسة الطرفية التفاعلية. استخدم سطر shebang الصحيح، وتجنب الاعتماد على الأسماء المستعارة، وحدد مسارات الملفات بشكل صريح. إذا كانت الأوامر تتطلب مجلدًا معينًا، فأضف cdسطرًا مناسبًا بالقرب من بداية البرنامج النصي.
افهم الأذونات قبل المشاركة
تُعدّ صلاحية التنفيذ منفصلة عن صلاحيات الخصوصية. عادةً ما يتم تشغيل البرنامج النصي باستخدام حسابك؛ استخدمها sudoفقط للأوامر التي تتطلب امتيازات المسؤول.
قد يطلب نظام macOS الوصول إلى مجلدات محمية أو تطبيقات أخرى. راجع كل طلب وامنح الإذن اللازم فقط. راجع قائمة Apple > إعدادات النظام > الخصوصية والأمان للملفات والمجلدات وإعدادات الخصوصية ذات الصلة . تعتمد الموافقات على الوصول المطلوب والتطبيق الطالب؛ فهي ليست أذونات عامة لكل أمر ولا تنتقل مع أي برنامج نصي مشترك.
قبل تشغيل أو مشاركة أي برنامج نصي، اقرأ كل سطر وتأكد من فهمك للتغييرات التي يُحدثها. .commandيُعدّ الملف سهل الاستخدام لأنه يُمكن تشغيله عند فتحه، لذا استخدم فقط الملفات من مصادر موثوقة.