كيفية التحقق من وجود ملف في bash

How Check If File Exists Bash



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

كيفية التحقق من وجود الملف باستخدام البرمجة النصية bash:

1) بإدخال اسم الملف في الجهاز:







أولاً ، نحتاج إلى إنشاء ملف نصي bash ، استخدم الأمر المذكور أدناه:



$لمس. اتصال. صلةtestfile.sh

اسم الملف الذي قمت بإنشائه هو testfile.sh ، ويشير ملحق .sh إلى ملف البرنامج النصي shell:







افتح الملف testfile.sh في أي محرر نصوص. ثم اكتب النص ، واحفظه بالضغط على حفظ.

إحدى الطرق هي العثور على ملف عن طريق طلب اسم ملف من المستخدم في الجهاز.



يستخدم -F للتحقق من وجود الملف.

اكتب البرنامج النصي أدناه:

#!/bin/bash
رما - طرد - قذف 'أدخل اسم الملف الخاص بك'
اقرأالملف الجديد 1
لو [ -F '$ newfile1' ]
من ثم
رما - طرد - قذف تم العثور على الملف
آخر
رما - طرد - قذف 'الملف غير موجود'
يكون

ارجع إلى المحطة وشغل الملف لطباعة الإخراج:

./filename.sh

سيتم عرض رسالة رفض الإذن في المحطة.

اجعله قابلاً للتنفيذ عن طريق تنفيذ الأمر المذكور أدناه:

$chmod+ x testfile.sh

أدخل اسم الملف ، وسيقوم بطباعة الإخراج:

2) بإدخال اسم الملف أثناء كتابة السيناريو:
طريقة أخرى للعثور على ملف عن طريق إعطاء اسم الملف أثناء كتابة البرنامج النصي. لدينا ثلاث طرق للتحقق من توفر الملف. الأول يستخدم الأمر test ، والثاني يستخدم if مع تعبير بين قوسين مربعين ، والثالث يستخدم أيضًا مع أقواس مربعة إذا ولكن مزدوجة كما هو موضح أدناه:

  1. اختبار التعبير.
  2. إذا [EXPRESSION]
  3. إذا [[EXPRESSION]]

دعونا نفهمها بأمثلة:

1) اختبار [التعبير]
انسخ النص المحدد والصقه في المحرر ، واحفظه:

#!/bin/bash
اسم الملف= ملف 1
لو اختبار -F 'اسم الملف $'؛
من ثم
رما - طرد - قذف 'ملف $قد وجد.'
آخر
رما - طرد - قذف 'ملف $لم يتم العثور عليه '
يكون

انتاج:

نظرًا لعدم وجود ملف من هذا القبيل في دليلي ، فإن الرمز يعرض رسالة 'لم يتم العثور على الملف'.

2) إذا [التعبير]

انسخ البرنامج النصي التالي للتحقق مما إذا كان الملف موجودًا أم لا:

#!/bin/bash
اسم الملف= myfile.txt
لو [ -F 'اسم الملف $' ]؛
من ثم
رما - طرد - قذف 'اسم الملف $قد وجد.'
آخر
رما - طرد - قذف 'لم يتم العثور على اسم الملف'
يكون

انتاج:

3) إذا [[التعبير]]

انسخ النص المكتوب أدناه والصقه على الجهاز:

#!/bin/bash
اسم الملف= ملف الاختبار
لو [[ -F 'اسم الملف $' ]]؛
من ثم
رما - طرد - قذف 'اسم الملف $قد وجد.'
آخر
رما - طرد - قذف 'اسم الملف $لم يتم العثور عليه '
يكون

انتاج:

للتحقق من الدليل:

3) عن طريق إدخال اسم الدليل أثناء كتابة السيناريو

استخدم ال علامة للتحقق من وجود دليل.

في البرنامج النصي المذكور أدناه ، dir11 هو المتغير الذي تخزن فيه الملف الذي تجده ؛ في هذا المثال ، أريد التحقق من اسم الدليل testDir موجود أم لا.

#!/bin/bash
دير 11= testDir
لو [ 'درهم 11' ]
من ثم
رما - طرد - قذف 'تم العثور على الدليل'
آخر
رما - طرد - قذف 'لم يتم العثور على الدليل'
يكون

انتاج:

2) بإدخال اسم الملف في الجهاز:
عند تشغيل الأمر في الجهاز للتحقق مما إذا كان الدليل موجودًا أم لا ، فأنت مطالب بإدخال اسم الدليل الذي تبحث عنه:

#!/bin/bash
رما - طرد - قذف 'اكتب اسم الدليل الخاص بك.'
اقرأDir1
لو [ 'Dir1' ]
من ثم
رما - طرد - قذف 'تم العثور على الدليل'
آخر
رما - طرد - قذف 'الدليل غير موجود'
يكون

انتاج:

فحص الملف بدون استخدام عبارة if:

يمكن تنفيذ الأمر test بدون عبارة if. سيتم عرض الإخراج فقط إذا كان الملف موجودًا ؛ وإلا فلن يكون هناك إخراج:

اكتب البرنامج النصي:

  1. اختبار -Fmyfile.txt&& رما - طرد - قذف تم العثور على ملف

  2. [ -Fmyfile.txt] && رما - طرد - قذف 'ملف $تم العثور على.'

  3. [[ -Fmyfile.txt]] && رما - طرد - قذف 'ملف $تم العثور على.'

انتاج:

التحقق من الدليل بدون استخدام عبارة if:

استخدم العبارات المذكورة أدناه للتحقق من وجود دليل أم لا:

  1. [[ testDir]] && رما - طرد - قذف 'الدليل موجود'

  2. 2) [ testDir] && رما - طرد - قذف 'الدليل موجود'

انتاج:

فحص ملفات / دلائل متعددة:

1) فحص ملفات متعددة باستخدام عبارات if:
استخدم العلامة -a للتحقق من وجود ملفات مختلفة بدلاً من استخدام عبارات if / else المتداخلة:

#!/bin/bash
لو [ -Fnew_file.txt-إلى -Fnewfile.txt]؛من ثم
رما - طرد - قذف 'كلا الملفين موجودان.'
يكون

طريقة أخرى هي:

#!/bin/bash
لو [[ -Fnew_file.txt&& -Fnewfile.txt]]؛من ثم
رما - طرد - قذف 'كلا الملفين موجودان.'
يكون

انتاج:

2) فحص ملفات متعددة دون استخدام عبارة if:
استخدم العبارة التالية للتحقق من ملفات متعددة في وقت واحد 1 دون استخدام إذا:

  1. [[ -Fnew_file.txt&& -Fnewfile.txt]] && رما - طرد - قذفكلا الملفين يخرج.

  2. [[ -Fnew_file.txt&& -Fnewfile.txt]] && رما - طرد - قذفكلا الملفين يخرج.

انتاج:

استنتاج:

توضح هذه المقالة كيفية استخدام البرمجة النصية bash للتحقق من ملف أو دليل. استخدمنا خيارات مختلفة للتحقق من توفر الملف. أولاً ، نستخدم أمر الاختبار بأعلام مختلفة. ثم تعلمنا استخدام if ، nested if-else ، وبدون عبارات if للتحقق من الملف أو الدليل. نظرنا أيضًا في كيفية التحقق من ملفات أو أدلة متعددة.