سؤال كيفية كتابة برنامج نصي لتشغيل تطبيق مختلف


أنا جديد جدا على منصة لينكس.

تبحث عن ملف نصي لاستدعاء ملف بدء تشغيل مختلف موجود في موقع مختلف ويحتاج إلى تشغيل في محطات مختلفة.

فمثلا :

لدي ملفين .sh مثل a.sh و b.sh في مواقع مختلفة.

الآن بحاجة إلى ملف نصي لتشغيل هذه الملفات .sh. عندما أقوم بتشغيل هذا البرنامج النصي ، يجب فتح محطتين. في المحطة الأولى يجب استدعاء a.sh ويجب تشغيل ملف b.sh على الطرف الثاني.

شكرا مقدما للمساعدة.

مع تحياتي، راغو


2
2017-07-04 07:37


الأصل




الأجوبة:


هذا بسيط للغاية. اكتب نصيًا مثل هذا:

#!/bin/bash
xterm -e /bin/bash /path/to/script_1.sh &
xterm -e /bin/bash /path/to/script_2.sh &

ال -e الخيار يعني "تنفيذ". الوسيطة بعدها هي أمر التنفيذ (هنا هو / bin / bash) والخيار التالي هو الوسيطة للأمر (هنا اسم ملف البرنامج النصي). & يعني أن الأوامر xterm - تعمل في الخلفية. إذا قمت بإزالة الأول &، فإنه سيتم تشغيل البرنامج النصي الأول بالكامل وبعد ذلك سيبدأ الأمر التالي ، ولكن كما فهمت سؤالك تريد تشغيلها في وقت واحد ، لذلك ترك & هناك.

يمكنك أيضًا استخدام المحطة القياسية بدلاً من xterm ، ولكن هذا يعتمد على التوزيع وسطح المكتب الذي تستخدمه. على سبيل المثال في جنوم سيكون gnome-terminal -x، ولكن لا ينبغي أن يحدث أي فرق عند استخدام xterm.

أتمنى أن يساعدك هذا.

Greatings ، دارث رافاج


2
2017-07-04 08:18



إعتقدت أنها كانت gnome-terminal -e  (-x يبدو للعمل كذلك ، ولكن -e يظهر في --help الصفحة)... أيضا ، مع gnome-terminal ، يمكنك الحصول عليه لعقد المحطة مفتوحة (في التفضيلات ، ضمن "العنوان والقيادة")، بحيث يمكنك رؤية الإخراج عند إنهاء البرامج النصية. أيضا ، إذا كانت البرامج النصية التي يتم استدعاؤها لديها خط shebang #!/bin/bash، لا يجب عليك بادئة الأمر /bin/bash (أو bash) - Wilf
أنت على حق تماما مع -e. غلطتي. كتبت /bin/bash فقط من أجل الاكتمال ، ولكن كما قلت أنه من الممكن تماما فقط للكتابة bash. شكرا على النقد البناء. - Darth Ravage