كيفية التحقق مما إذا كان الملف أو الدليل موجودًا في برنامج Bash Shell

التحقق من وجود ملف أو دليل من نص برمجي Bash

يستخدم Bash لأتمتة الأوامر التي يتم تنفيذها بانتظام في Linux. يتم استخدام الأوامر المخصصة للعمليات على الملفات / الدلائل بشكل متكرر ، وعادة ، قبل تنفيذ مثل هذا الأمر ، نحتاج إلى التحقق مما إذا كان الملف أو الدليل المعين موجودًا. دعونا نرى كيفية إجراء هذا الفحص.

النحو والاستخدام

الملفات

للتحقق مما إذا كان الملف موجودًا، استخدم الصيغة التالية:

[ -F  ]

التعبير [ -F ] تُرجع 0 ، أي ، النجاح إذا موجود ، وإذا لم يكن موجودًا ، فإنه يعرض حالة غير صفرية. عادة ، يتم استخدام هذا كشرط في إذا بيان.

إذا [-f] ثم fi

لنفي القيمة التي تم إرجاعها، ببساطة تسبق -F مع عامل النفي (!).

إذا [ ! -f] ثم fi

في هذه الحالة ، سوف يفي الشرط إذا كان الملف غير موجود، نظرًا لأن الحالة التي تم إرجاعها غير الصفر (خطأ) سيتم إبطالها وتعتبر 0 (صواب).

لاحظ أنه إذا كان الملف المطلوب التحقق منه غير موجود في الدليل الحالي وكان موجودًا في دليل آخر ، فيجب ذكر المسار الكامل للملف بدلاً من اسم الملف فقط.

الدلائل

يتم استخدام بناء جملة مماثل كما هو مستخدم لفحص الملفات لفحص الدلائل.

[ -د  ]

على غرار بيان الملفات ، تُرجع هذه العبارة 0 ، أي ، النجاح ، إذا كان الدليل موجود ، وغير الصفر ، أي يتم إرجاع حالة الفشل إذا لم تكن موجودة. يستخدم هذا أيضًا بشكل شائع في ملف إذا بيان الشرط.

إذا [-d] ثم fi

لإلغاء الحالة التي تم إرجاعها ، اسبق مع عامل النفي (!).

إذا [ ! -d] ثم fi

سوف يفي الشرط (الحالة 0) في هذه الحالة إذا كان الدليل غير موجود ، وسيفشل (الحالة غير صفرية) إذا كان الدليل موجودًا.

كما ذكرنا من قبل بالنسبة للملفات ، إذا كان الدليل المراد التحقق منه موجودًا في موقع آخر وليس الدليل الحالي ، فيجب إدخال مسار الدليل بالكامل بدلاً من اسم الدليل فقط.

صيغة القوس ( [...] ) المستخدم هنا هو في الواقع أمر Linux يسمى اختبار. الخيارات -F و هي ميزات هذا الأمر. لمزيد من المعلومات ، راجع صفحة دليل الاختبار ( اختبار الرجل ).

تحقق من Bash Script

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

يمكن استخدام نفس الصيغ من داخل نص برمجي Bash.

ال #! / بن / باش في البداية يحدد المترجم الذي سيتم استخدامه عند تنفيذ الملف. على الرغم من أن Bash هي الصدفة الأكثر استخدامًا في الوقت الحاضر ، إلا أن بعض المستخدمين يفضلون الصدفات مثل zsh، والتي يجب تحديدها مكان bash في بداية هذا الملف.

لإعطاء أذونات التنفيذ لهذا الملف ، قم بتشغيل:

chmod + x test.sh

أخيرا، لتنفيذ الملف، يركض:

./test.sh