OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

تعبيرات الملف

تستخدم التعبيرات التالية لتقييم حالة الملفات:


جدول 27-1: اختبار تعبيرات الملف


يكون التعبير صحيحًا إذا:

يكون التعبير صحيحًا إذا:

file1 -ef file2 file1 و file2 لهما نفس أرقام inode (الاثنان

أسماء الملفات تشير إلى نفس الملف عن طريق الربط الثابت).


صورة

file1 -لا file2 file1 أحدث من file2.


صورة

file1 -لا file2 file1 أقدم من file2.


صورة

-b ملف ملف موجود وهو ملف بلوك خاص (جهاز).


صورة

-c ملف ملف موجود وهو ملف خاص بالحرف (جهاز).


صورة

-d ملف ملف موجود وهو دليل.


صورة

-e ملف ملف موجودا.


صورة

-f ملف ملف موجود وهو ملف عادي.


صورة

-g ملف ملف موجود وهو set-group-ID.


صورة

-G ملف ملف موجود ويملكه معرف المجموعة الفعال.


صورة

-k ملف ملف موجود ولديه مجموعة "بت اللزجة".


صورة


صورة

-L ملف ملف موجود وهو رابط رمزي.


صورة

-O ملف ملف موجود ويملكه معرف المستخدم الفعال.


صورة

-p ملف ملف موجود وهو أنبوب مسمى.


صورة

-r ملف ملف موجود وقابل للقراءة (لديه إذن مقروء للمستخدم الفعال).


صورة

-s ملف ملف موجود وطوله أكبر من الصفر.


صورة

-S ملف ملف موجود وهو مقبس شبكة.


صورة

-t fd fd هو واصف ملف موجه إلى / من الجهاز. يمكن استخدام هذا لتحديد ما إذا كان يتم إعادة توجيه الإدخال / الإخراج / الخطأ القياسي.


صورة

-u ملف ملف موجود وهو محدد.


صورة

-w ملف ملف موجود وقابل للكتابة (لديه إذن كتابة للمستخدم الفعال).


صورة

-x ملف ملف موجود وقابل للتنفيذ (لديه إذن تنفيذ / بحث للمستخدم الفعال).


صورة


هنا لدينا برنامج نصي يوضح بعض تعبيرات الملف:



#! / بن / باش


# test-file: قم بتقييم حالة الملف FILE = ~ / .bashrc

إذا [-e "$ FILE"] ؛ من ثم

إذا [-f "$ FILE"] ؛ من ثم

صدى "$ FILE هو ملف عادي."

fi

إذا [-d "$ FILE"] ؛ من ثم

صدى "$ FILE هو دليل."

fi

إذا [-r "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للقراءة."

fi

إذا [-w "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للكتابة."

fi

إذا [-x "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للتنفيذ / قابل للبحث."

#! / بن / باش


# test-file: قم بتقييم حالة الملف FILE = ~ / .bashrc

إذا [-e "$ FILE"] ؛ من ثم

إذا [-f "$ FILE"] ؛ من ثم

صدى "$ FILE هو ملف عادي."

fi

إذا [-d "$ FILE"] ؛ من ثم

صدى "$ FILE هو دليل."

fi

إذا [-r "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للقراءة."

fi

إذا [-w "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للكتابة."

fi

إذا [-x "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للتنفيذ / قابل للبحث."


فاي آخر

صدى "$ FILE غير موجود" خروج 1

fi


خروج

فاي آخر

صدى "$ FILE غير موجود" خروج 1

fi


خروج


يقوم البرنامج النصي بتقييم الملف المخصص للثابت FILE ويعرض نتائجه أثناء إجراء التقييم. هناك شيئان مثيران للاهتمام يجب ملاحظتهما حول هذا البرنامج النصي. أولا ، لاحظ كيف المعلمة ملف دولار ونقلت ضمن التعبيرات. هذا ليس مطلوبًا لإكمال التعبير نحويًا ، بل هو دفاع ضد كون المعلمة فارغة. إذا كان توسيع المعلمة من ملف دولار كان من المفترض أن ينتج عنه قيمة فارغة ، فسيؤدي ذلك إلى حدوث خطأ (سيتم تفسير العوامل على أنها سلاسل غير خالية بدلاً من عوامل تشغيل). يضمن استخدام علامات الاقتباس حول المعلمة أن العامل متبوع دائمًا بسلسلة ، حتى لو كانت السلسلة فارغة. ثانيًا ، لاحظ وجود ملف خروج com- mand بالقرب من نهاية البرنامج النصي. ال خروج يقبل الأمر وسيطة اختيارية واحدة ، والتي تصبح حالة خروج البرنامج النصي. عندما لا يتم تمرير أي وسيطة ، تتراجع حالة الخروج إلى حالة الخروج لآخر أمر تم تنفيذه. استخدام خروج بهذه الطريقة يسمح البرنامج النصي للإشارة إلى الفشل إذا ملف دولار يوسع إلى اسم ملف غير موجود. ال خروج يظهر الأمر في السطر الأخير من البرنامج النصي كإجراء شكلي. عندما "ينتهي البرنامج النصي" (يصل إلى نهاية الملف) ، فإنه ينتهي بحالة الخروج لآخر أمر تم تنفيذه.

وبالمثل ، يمكن أن تعيد دوال الصدفة حالة الخروج من خلال تضمين وسيطة عدد صحيح إلى عائد أعلى أمر. إذا أردنا تحويل البرنامج النصي أعلاه إلى دالة shell لإدراجه في برنامج أكبر ، فيمكننا استبدال خروج أوامر مع عائد أعلى العبارات والحصول على السلوك المطلوب:



ملف_اختبار () {


# test-file: قم بتقييم حالة الملف FILE = ~ / .bashrc

إذا [-e "$ FILE"] ؛ من ثم

إذا [-f "$ FILE"] ؛ من ثم

صدى "$ FILE هو ملف عادي."

fi

إذا [-d "$ FILE"] ؛ من ثم

صدى "$ FILE هو دليل."

fi

إذا [-r "$ FILE"] ؛ من ثم

ملف_اختبار () {


# test-file: قم بتقييم حالة الملف FILE = ~ / .bashrc

إذا [-e "$ FILE"] ؛ من ثم

إذا [-f "$ FILE"] ؛ من ثم

صدى "$ FILE هو ملف عادي."

fi

إذا [-d "$ FILE"] ؛ من ثم

صدى "$ FILE هو دليل."

fi

إذا [-r "$ FILE"] ؛ من ثم


صدى "$ FILE قابل للقراءة."

fi

إذا [-w "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للكتابة."

fi

إذا [-x "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للتنفيذ / قابل للبحث."

fi

آخر

صدى "$ FILE غير موجود" إرجاع 1

fi


}

صدى "$ FILE قابل للقراءة."

fi

إذا [-w "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للكتابة."

fi

إذا [-x "$ FILE"] ؛ من ثم

صدى "$ FILE قابل للتنفيذ / قابل للبحث."

fi

آخر

صدى "$ FILE غير موجود" إرجاع 1

fi


}


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: