تنفيذ أوامر متعددة في الطرفية

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

طرفية لينيكس تعتبر متطورة جدا وذكية جدا وطريقة تصميم لينيكس تسمح للطرفية أن تكون سلاح من النوع الثقيل جدا في النظام فمن خلالها يمكنك أن تقوم بكل شيء بدون استثناء.

تنفيذ أوامر متعددة في الطرفية

هناك 3 طرق أساسية في تنفيذ أوامر الطرفية بدون الحاجة إلى كتابة برنامج معين يحتوي على بعض المنطق في عمله وهذا أمر جميل جدا ويسهل عليك القيام بعدد من الأوامر. طرفية لينيكس تدعم تنفيذ الأوامر بالطرق التالية:

الفاصلة المنقوطة “;”: تنفيذ الأمر الأول وبعده تنفيذ الأمر الثاني

هذه الطرقية بالضبط كما هو العنوان. من خلالها يمكن تنفيذ الأمر الأول وبعد أن ينتهي الأمر الأول، يتم تنفيذ الأمر الثاني. مثلا:

zip -r backup.zip /home/$USER/Downloads; mv backup.zip /dev/sdc/backup.zip

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

رمز الإضافة المزدوج “&&”: تنفيذ الأمر الثاني فقط عند نجاح الأمر الأول

مجدداً، العنوان يشرح الموضوع بشكل كامل. مثال على هذا الأمر:

zip -r backup.zip /home/$USER/Downloads && mv backup.zip /dev/sdc/backup.zip

هذا الأمر يقوم بضغط مجلد Downloads ومن ثم يقوم بنقله الى USB خارجي. هذا الأمر سيقوم بتنفيذ الأوامر الثاني فقط في حال انتهى الأمر الأول بنجاح. في حال فشل الأمر الأول، سيتم أيقاف تنفيذ باقي الأوامر.

العمودين المتوازيين “||”: تنفيذ الأمر الثاني عند فشل الأمر الأول

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

مثال على هذا الامر:

zip -r backup.zip /home/$USER/Downloads || sendmail [email protected] < /run/media/storage/fail.txt

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