از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
اگر فایل وجود ندارد، Bash را بررسی کنید
سرفصلهای مطلب
مثال 01
ما باید پشتیبانی Bash را در آن اضافه کنیم ‘#!/صندوقچه/bash’. پس از این، a را مقداردهی اولیه کردیم ‘فایل’ متغیر با مسیر خود فایل ‘file.sh’ یعنی ‘/home/linuxint/file.sh’. برای بررسی وجود یا نبودن فایل، از آن استفاده خواهیم کرد ‘اگر پس از آن’ بیانیه شرایط خود را در براکت های مربع در این کد Bash می گیرد. برای بررسی اینکه آیا فایل وجود دارد، باید از آن استفاده کنیم ‘-f’ گزینه به دنبال متغیر دو نقل قول “فایل” با شخصیت دلار “$”. این برای بررسی اینکه آیا مسیر داده شده به فایل حاوی فایلی با نام است یا خیر ‘file.sh’ یا نه.
شرط به اینجا ختم می شود و ‘سپس’ بخشی از بیانیه شروع می شود. اگر فایل وجود داشته باشد، پیغام فایل را نمایش می دهد ‘file.sh’ وجود دارد در مسیر داده شده با استفاده از “پژواک” بیانیه. این “اگر” عبارت در اینجا با سینتکس پایانی به پایان می رسد ‘فی’.
فایل=/خانه/لینوشینت/file.sh
اگر [ -f “$FILE“ ]; سپس
اکو “$FILE وجود دارد!”
فی
اکنون فایل کد Bash خود را ذخیره کرده و فایل را با استفاده از خط فرمان زیر اجرا کنید:
این خروجی هنگام اجرای دستور است:
/خانه/لینوشینت/file.sh وجود دارد!
اگر اسکریپت را تغییر دهیم و آن را تغییر دهیم ‘فایل’ به فایلی که وجود ندارد و اسکریپت را دوباره اجرا کنید، هیچ خروجی از اسکریپت دریافت نمی کنیم.
مثال 02
در این مثال یک عبارت else به دستور if در مثال قبلی اضافه می کنیم. به این ترتیب اگر فایل وجود نداشته باشد، یک پیغام خطای مناسب در خروجی یا صفحه نمایش استاندارد چاپ می شود. این هم کد جدید:
فایل=/خانه/لینوشینت/file.sh
اگر [ -f “$FILE“ ]; سپس
اکو “$FILE وجود دارد!”
دیگر
اکو “$FILE وجود ندارد!”
فی
می توانیم اسکریپت ها را به صورت زیر اجرا کنیم:
ما همان خروجی قبلی را دریافت می کنیم:
/خانه/لینوشینت/file.sh وجود دارد!
اما اکنون اگر نام فایل را هک کنیم تا فایلی وجود نداشته باشد، یک پیغام خطای مناسب دریافت می کنیم:
/خانه/لینوشینت/nofile.sh وجود ندارد!
مثال 03
بیایید بگوییم، شما می خواهید از آن استفاده کنید ‘نه’ کاراکتر، بنابراین شما ابتدا بررسی می کنید که آیا فایل وجود ندارد. به عنوان مثال، اگر فایل وجود نداشته باشد، ممکن است بخواهید یک پیغام خطا چاپ کنید، اما حتی ممکن است در این زمینه نیازی به دیگری نداشته باشید زیرا فقط برای شما مهم است که فایل وجود نداشته باشد، در غیر این صورت ممکن است اسکریپت بدون خروج از یک به صورت عادی ادامه دهد. خطا
در اینجا نحوی برای استفاده از آن وجود دارد ‘!’ نویسه برای معکوس کردن چک برای بررسی اگر فایل وجود نداشته باشد:
فایل=/خانه/لینوشینت/nofile.sh
اگر [ ! -f “$FILE“ ]; سپس
اکو “$FILE وجود ندارد!”
دیگر
اکو “$FILE وجود دارد!”
فی
ابتدا اسکریپت را با نام فایل شکسته اجرا می کنیم:
خروجی زمانی که شرایط خطا را ایجاد می کند در زیر است:
/home/linuxint/nofile.sh وجود ندارد!
اکنون میتوانیم نام فایل را به عنوان فایل موجود ثابت کنیم:
فایل=/خانه/لینوشینت/file.sh
اگر [ ! -f “$FILE“ ]; سپس
اکو “$FILE وجود ندارد!”
دیگر
اکو “$FILE وجود دارد!”
فی
در اینجا خروجی با فایل موجود است:
/خانه/لینوشینت/file.sh وجود دارد!
linuxhit@u22:~$
مثال 04
در این مثال ما یک نحو سریع از پوسته را بدون نوشتن اسکریپت نشان میدهیم و عملگرهای منطقی را برای موفقیت یا خطاهای چاپ معرفی میکنیم. در اینجا اسکریپتی است که می توانید اجرا کنید روی را terminal:
فایل وجود دارد
linuxhit@u22:~$
در کد بالا ما کد را مستقیما می نویسیم روی تعاملی terminal. ما از یک تست شرطی برای بررسی وجود فایل استفاده می کنیم. برای موفقیت 0 برمی گردد. عملگرهای Logical OR و Logical AND برای نشان دادن اینکه کدام پیام باید چاپ شود، موفقیت یا شکست استفاده می شود.
مثال 05
همچنین میتوانید از رویکرد مشابهی که در این مقاله نشان داده شده است برای بررسی وجود دایرکتوری با استفاده از آن استفاده کنید ‘-d’ گزینه در شرایط خود به جای ‘-f’. فرض کنید، یک دایرکتوری داریم ‘تست’ در پوشه اصلی ما و ما از همان اسکریپت با ‘-d’ گزینه ای برای بررسی آن و نمایش پیام رشته با توجه به خروجی شرط.
در اینجا کد با فایل بررسی دایرکتوری است “dir.sh”:
فایل=/خانه/لینوشینت/تست
اگر [ -d “$FILE“ ]; سپس
اکو “فهرست راهنما $FILE وجود دارد!”
دیگر
اکو “فهرست راهنما $FILE وجود ندارد!”
فی
برای اجرای کد اجرا کنید:
فهرست راهنما /خانه/لینوشینت/تست وجود دارد!
و کد و خروجی تست منفی:
فایل=/خانه/لینوشینت/تست
اگر [ ! -d “$FILE“ ]; سپس
اکو “فهرست راهنما $FILE وجود ندارد!”
دیگر
اکو “فهرست راهنما $FILE وجود دارد!”
فی
فهرست راهنما /خانه/لینوشینت/تست وجود ندارد!
نتیجه
این همه در مورد استفاده از bash اسکریپت هایی برای بررسی وجود فایل ها و دایرکتوری ها. همچنین از کد مستقیم در Bash استفاده کرده ایم console استفاده از عملیات تست و عملگرهای منطقی
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 01:09:04