سؤال كيف أقوم بتشغيل ملفات .sh؟


عندما أقوم بفتح ملف .sh ، فإنه يفتحه في gedit بدلاً من الجهاز. لا أستطيع العثور على أي خيار مماثل انقر بزر الماوس الأيمن → مفتوحة مع → تطبيق آخر ... → طرفية.

كيف أقوم بفتح هذا الملف في الجهاز؟


247
2018-05-01 02:39


الأصل


هل يهدف هذا النص إلى إعداد متغيرات env لمزيد من الاستخدام؟ - Rob
يجب ألا تستخدم الإضافات على النصوص البرمجية. في مرحلة ما في المستقبل ، قد تجد أن لغة مختلفة أكثر ملاءمة للقيام بالمهمة التي يقوم بها نصك الحالي. ثم لديك مشكلة. هل تحتفظ بالاسم القديم ، بامتداد مضلل تمامًا ، أو هل تعيد تسميته ، وربما تحتاج إلى تعديل الكثير من الأماكن التي يتم فيها استخدام النص البرمجي؟ - geirha
لا تحتاج إلى امتداد الملف. من الجيد أن يكون لديك ولكن ليس هناك حاجة. لا ينظر نظام التشغيل إلى امتداد الملف. ينظر إلى البيانات - ActionParsnip
Meh ، إذا قمت بإعادة كتابة foo.sh في ruby ​​، ​​يمكنك دائمًا استخدام ملف .sh لإطلاقه ruby foo.rb - glenn jackman
في Dolphin يمكنك الضغط على F4 ويفتح جهاز التحكم - Motte001


الأجوبة:


منح إذن تنفيذ إلى البرنامج النصي الخاص بك:

chmod +x /path/to/yourscript.sh

ولتشغيل البرنامج النصي الخاص بك:

/path/to/yourscript.sh

منذ . يشير إلى الدليل الحالي: إذا yourscript.sh في الدليل الحالي ، يمكنك تبسيط هذا إلى:

./yourscript.sh

379
2018-05-01 03:18



1+ الإجابة فقط لإظهار إضافة أذونات التنفيذ بطريقة طرفية فقط. - Hailwood
اذا فعلت bash /path/to/yourscript.sh فأنت لا تحتاج chmod +x - Aleksandr Levchuk
في الواقع ، يمكنك استخدام . /path/to/yourscript.sh إذا كان البرنامج النصي لإعداد بعض متغيرات البيئة. - Rob
لا أحد يذكر التقليدية: ./path/to/yourscript.sh(بدون الفراغ بعد .)؟ أجد أن واحد هو أبسط وأسهل استخدام ... ولكن على أي حال ، هنا هو بديلي الذي ينبغي أن تفعله تقريبا نفس ./ على الرغم من أنني لا أرى سبب عدم استخدامك ./: (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME) ... تصحيح FILENAME حسب ذوقك. لاحظ أيضا أن sh سيتم استخدامها إذا لم يكن هناك بديل. - MiJyn


يجب وضع علامة على نصوص برمجية shell كملف قابل للتنفيذ لتشغيلها من مدير الملفات:

  1. انقر بالزر الايمن على الخاص بك .sh ملف وحدد الخصائص:

    enter image description here

  2. في ال أذونات علامة التبويب ، تحقق السماح بتنفيذ الملف كبرنامج:

    enter image description here

  3. أقفل ال الخصائص نافذة وانقر نقرا مزدوجا فوق الملف. سيظهر لك مربع حوار يمنحك خيار تشغيل البرنامج النصي في جهاز طرفية:

    enter image description here


72
2018-05-01 03:02



جيد ث / لقطات - gd1
هذا لا يعمل في أوبونتو 13.04. يحافظ على فتح في gedit على أي حال ، لا يطلب مني التنفيذ. تحرير: Nvm ، imjustmatthew يجيب على هذا. - mpen
قبل استخدام هذا نحن بحاجة لجعل إذن الملف للتنفيذ باستخدام chmod. chmod + x filename.sh أو chmod 755 filename.sh - Arvind Rawat
ليس لدي نافذة منبثقة! يتم فتح IDE على الفور ، وليس منبثقة - Green
@ DanielMöller ، هنا هو الجواب على سؤالك. askubuntu.com/questions/38661/how-do-i-run-sh-files/... - Akhilesh Dhar Dubey


المتطلبات المسبقة

قبل أن تتمكن من تشغيل الملف .sh ، يجب أن تجعله قابلاً للتنفيذ:

  1. انقر بزر الماوس الأيمن على الملف
  2. تحديد الخصائص
  3. تحديد أذونات
  4. تحديد السماح بتنفيذ الملف كبرنامج

تحذير

تأكد من أنك تثق بالمصدر الذي حصلت منه على الملف. يمكن أن يكون فيروس.

الطريقة البسيطة للغاية

  1. انقر مرتين على الملف
  2. انقر فوق تشغيل في المحطة

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

الطريقة البسيطة

  1. افتح التطبيقات -> الملحقات -> المحطة الطرفية
  2. اسحب الملف .sh وأفلته في المحطة واضغط على Enter

الطريقة التي يقوم بها المحترفون

  1. افتح التطبيقات -> الملحقات -> المحطة الطرفية
  2. ابحث عن مكان الملف .sh

    • استخدم ال ls و cd الأوامر
    • ls سوف قائمة الملفات والمجلدات في المجلد الحالي. جرّبها: اكتب "ls" واضغط على Enter.
    • بمجرد رؤية المجلد الذي تريد الدخول إليه ، قم بتشغيل cdمتبوعًا بمسافة متبوعة باسم مجلد
    • إذا دخلت إلى مجلد لم ترغب فيه ، فقم بالتشغيل cd .. للذهاب إلى مستوى واحد فوق
  3. قم بتشغيل الملف .sh

    • بمجرد أن ترى على سبيل المثال script1.sh مع ls تشغيل هذا:

      ./script.sh

لماذا تفعل ذلك بطريقة معقدة؟

يحتوي الجهاز على مجموعة غنية من الأدوات الفعالة التي يمكن الوصول إليها عن طريق كتابة الأوامر. المحترفين تحديد موقع الملف .sh عن طريق الكتابة ls و cd. بمجرد أن تكون في الصحيح المجلد الحالي يمكنك تشغيل البرنامج النصي مثل هذا:

./script1.sh

أو يمكنك تشغيل وإعادة توجيه الإخراج إلى ملف:

./script1.sh > out.txt

أو يمكنك تصفية إخراج الكلمات الرئيسية (على سبيل المثال "تفاح") ثم إعادة التوجيه إلى ملف:

./script1.sh | grep apples > ./only-apples

هناك الآلاف من الأشياء التي يمكنك القيام بها إلى هذا الملف فقط عن طريق كتابة بعض الأوامر.

واحد آخر ، يمكنك تنزيل ملف من الإنترنت باستخدام أمر واحد بسيط:

wget www.google.com/images/logos/ps_logo2.png

ثم افتح الملف مثل هذا:

shotwell ps_logo2.png

22
2018-05-01 02:52



أنا غير متأكد من ذلك الطريقة التي يقوم بها المحترفون هو الصحيح ، انها حالة أكثر من طريقة بسيطة ال متقدمة (للتحكم في الإخراج) طريق - Hailwood


افتح محطة وانتقل إلى المجلد حيث .sh يقع الملف. ثم اكتب:

sh <name of file>.sh

18
2017-12-20 07:43





في Ubuntu 13.04 يتم فتح الملفات التنفيذية المفتوحة في Nautilus الآن في gedit افتراضيًا بدلاً من مطالبة المستخدم بتنفيذها. لتمكين السلوك الكلاسيكي ، تحتاج إلى ضبط التفضيلات:

Nautilus ← تعديل القائمة ← تفضيلات ← علامة التبويب السلوك ← انقر فوق زر الاختيار الموجود بالقرب من السؤال في كل مرة.


15
2018-06-10 21:41



الشخص الذي طرح السؤال يتحدث عن أوبونتو 10.10 - edwin
شكرا لكم!!! لا أعرف لماذا قاموا بتغيير هذا ، لا يمكن معرفة كيفية تنفيذ أي شيء. - mpen
هذا هو الجواب الصحيح لأحدث ubuntus. - gaRex
كيف يمكنك الوصول إلى نوتيلوس في 15.10؟ - Yaakov Ainspan


اذهب إلى الدليل حيث .sh الملف باستخدام cd. في هذا المثال ، قمت بتخزين sh الملف باسم ~/Desktop/shell_practice/test.sh

أولا القيام به pwd لمعرفة مكانك ، وإذا عاد /home/username (أين username هو اسم المستخدم الحقيقي الخاص بك) ، يمكنك تشغيل

cd Desktop/shell/practice

إذا كنت في مكان آخر ، يمكنك استخدام المسار المطلق

cd ~/Desktop/shell/practice

أو

cd $HOME/Desktop/shell/practice

او حتى

cd /home/$USER/Desktop/shell/practice

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

ls

إذا كنت تستطيع رؤية sh ملف في الإخراج ، يمكنك استخدامها chmod لجعلها قابلة للتنفيذ. في حالتي ، تذكر ، اسم الملف هو test.sh، لذلك أود أن أركض

chmod u+x test.sh

الآن بعد أن نكون في نفس الدليل كالنص البرمجي ، علينا أن نعين للصدفة أننا نرغب في تنفيذ الملف من خلال إعطاء موقعه ./ (يتبع الدليل الحالي فاصل مسار ، لتمييزه عن اسم الملف). لتشغيل ملفي ، أود أن أكتب:

./test.sh

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

إليك مثال حي: Here is live example


5
2017-12-03 11:14



هذا عمل بالنسبة لي لتثبيت Netbeans على أوبونتو - RuD3B0y
Wb، @ RuD3B0y ، لقد حاولت أن أجعل الإجابات أفضل لـ noobs ، لا يوجد محتوى عالي التقنية ، إذا كان لديك بعض التعديلات مرحب بك. - TheExorcist


2 خطوات رئيسية.

  1. في المطراف ، استخدم gedit لكتابة وحفظ البرنامج النصي بامتداد ".sh" إلى سطح المكتب. (ولكن يمكن استخدام أي محرر نصوص)

  2. افتح Nautilus وانقر بزر الماوس الأيمن على ملف script.sh.

    • تحت خصائص ، خانة الاختيار "السماح بتنفيذ الملف .."

    • في قائمة Nautilus ، انقر فوق الملف ، ثم التفضيلات ، ثم السلوك

    • تحقق من "تشغيل ملفات نصية قابلة للتنفيذ عند فتحها".

الآن ، عند النقر المزدوج فوق الملف على سطح المكتب ، يجب أن يتم تنفيذه. لا حاجة الى . أو ./


3
2017-10-24 14:24





في Ubuntu 16.04 ، هذه هي طريقة فتحها في Terminal:

اذهب الى File Manager > Edit > Preferences > Behavior إلى عن على Executable Text Files وحدد Ask each time.

تكمن المشكلة في أنه يتم تعيينها افتراضيًا على View Executable Files when they are opened.


2
2017-12-11 19:58





  1. انقر بزر الماوس الأيمن فوق .sh الملف وجعلها قابلة للتنفيذ.

  2. فتح محطة (السيطرة+البديل+تي).

  3. اسحب .sh ملف في نافذة المحطة ومشاهدة في رهبة.


2
2018-06-10 14:09



مرحبًا بك في اسأل أوبونتو! أنا أوصي ل تصحيح هذه الإجابة لتوسيعها مع تفاصيل محددة حول كيفية القيام بالخطوة الأولى. (أنظر أيضا كيف أكتب إجابة جيدة؟ للحصول على نصائح عامة حول أنواع الإجابات التي تعتبر الأكثر قيمة على AskUbuntu.) - David Foerster