از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
چگونه بررسی کنیم که آیا آرایه Bash حاوی مقدار است یا خیر
سرفصلهای مطلب
Bash یک پوسته یونیکس پرکاربرد است که مجموعه ای از ابزارهای قدرتمند را برای مدیریت و اتوماسیون سیستم فراهم می کند. یکی از متداول ترین ساختارهای برنامه نویسی مورد استفاده در برنامه نویسی Bash یک آرایه است که به شما امکان می دهد چندین مقدار را در یک متغیر ذخیره کنید.
چگونه بررسی کنیم که آیا آرایه Bash دارای مقدار است یا خیر
در اینجا سه روش متمایز وجود دارد که می توانید برای تعیین اینکه آیا یک آرایه در Bash دارای مقدار است یا خیر، استفاده کنید:
روش 1: استفاده از حلقه
یکی از راههای بررسی اینکه آیا یک آرایه Bash حاوی مقدار است یا نه، تکرار روی آرایه با استفاده از یک حلقه for است که هر عنصر را با مقداری که میخواهید پیدا کنید مقایسه میکند، در اینجا یک مثال آورده شده است:
ماشین ها=(“بی ام و” “VOLVO” “کیا”)
ماشین_برای_پیدا کردن=“کیا”
برای ماشین که در “${ماشین[@]}“
انجام دادن
اگر [ “$car“ == “$car_to_find“ ]
سپس
اکو “پیدا شد ماشین دلاری!”
زنگ تفریح
فی
انجام شده
در اینجا من مجموعهای از مارکهای خودرو دارم و میخواهم نام تجاری “KIA” را پیدا کنم، بنابراین با استفاده از یک حلقه for روی آرایه تکرار میکنم و هر مارک خودرو را با مارکی که میخواهم پیدا کنم مقایسه میکنم. اگر مطابقت پیدا کنیم، یک پیام چاپ می کنیم و با استفاده از دستور break از حلقه خارج می شویم.
روش 2: با استفاده از دستور grep
استفاده از دستور grep برای جستجوی مقدار در آرایه تکنیک دیگری برای تعیین اینکه آیا یک آرایه Bash مقدار دارد یا خیر، در اینجا یک تصویر است:
ماشین ها=(“بی ام و” “VOLVO” “KIA”)
ماشین_برای_پیدا کردن=“KIA”
اگر اکو “${ماشین[@]}“ | grep -qw “$car_to_find“; سپس
اکو “پیدا شد $car_to_find!”
دیگر
اکو “$car_to_find پیدا نشد.”
فی
در اینجا، از دستور echo برای چاپ آرایه در خروجی استاندارد و لوله کردن آن به grep استفاده کردیم. گزینه -q به grep می گوید که ساکت باشد و فقط یک کد وضعیت را برگرداند که نشان می دهد الگو پیدا شده است یا نه. گزینه -w به grep می گوید که الگو را به عنوان کل کلمه مطابقت دهد. اگر grep الگو را پیدا کند، دستور if پیامی را چاپ می کند که نشان می دهد مقدار پیدا شده است.
روش 3: با استفاده از ${array[@]/pattern/replacement} نحو
راه سوم برای بررسی اینکه آیا یک آرایه Bash حاوی مقدار است یا خیر، استفاده از آرایه ${است[@]دستور /pattern/replacement} را برای جایگزینی مقداری که میخواهید با یک رشته متفاوت پیدا کنید و سپس آرایه حاصل را با آرایه اصلی مقایسه کنید. در اینجا یک مثال است:
ماشین ها=(“بی ام و” “VOLVO” “کیا”)
ماشین_برای_پیدا کردن=“کیا”
اگر [[ “${cars[@]/$car_to_find/}“ != “${ماشین[@]}“ ]]; سپس
اکو “پیدا شد $car_to_find!”
دیگر
اکو “$car_to_find پیدا نشد.”
فی
در اینجا از آرایه ${استفاده می کنیم[@]دستور /pattern/replacement} برای حذف مقداری که می خواهیم از آرایه پیدا کنیم و اگر آرایه حاصل با آرایه اصلی متفاوت باشد به این معنی است که مقدار پیدا شده است.
نتیجه
ما سه روش مختلف را برای بررسی اینکه آیا آرایه Bash حاوی مقادیری است مورد بحث قرار داده ایم: استفاده از حلقه، استفاده از دستور grep و استفاده از ${array[@]نحو /pattern/replacement}. با استفاده از این تکنیک ها می توانید به طور موثر در میان آرایه های Bash جستجو کرده و عملیات لازم را انجام دهید روی ارزش هایی که پیدا می کنید
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 23:53:06