از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
آرایه انجمنی در Bash
سرفصلهای مطلب
یک متغیر آرایه برای ذخیره داده های متعدد با شاخص استفاده می شود و مقدار هر عنصر آرایه با مقدار شاخص مربوطه آن عنصر قابل دسترسی است. آرایه ای که می تواند مقدار رشته را به عنوان یک شاخص یا کلید ذخیره کند، آرایه انجمنی نامیده می شود. یک آرایه انجمنی را می توان اعلام کرد و در آن استفاده کرد bash اسکریپت مانند سایر زبان های برنامه نویسی این ویژگی اضافه شده است bash 4. چگونه می توان آرایه انجمنی را اعلام کرد و به آن دسترسی پیدا کرد bash در این آموزش توضیح داده شده است.
قبل از شروع قسمت بعدی این آموزش، نسخه فعلی Bash را بررسی کنید. دستور زیر را از terminal برای بررسی نسخه نصب شده bash. اگر نصب شده باشد bash نسخه در سیستم عامل شما کمتر از 4 است پس باید آن را نصب کنید bash برای ادامه این آموزش ابتدا نسخه 4.
خروجی زیر نشان می دهد که نسخه فعلی از bash 4.4.19 است.
اعلان و مقداردهی اولیه آرایه انجمنی:
یک آرایه انجمنی را می توان در آن اعلام کرد bash با استفاده از اعلام کلمه کلیدی و عناصر آرایه را می توان در زمان اعلام آرایه یا پس از اعلام متغیر آرایه مقداردهی اولیه کرد. اسکریپت زیر یک آرایه انجمنی به نام ایجاد می کند assArray1 و چهار مقدار آرایه به صورت جداگانه مقداردهی اولیه می شوند.
$ assArray1[fruit]=انبه
$ assArray1[bird]=کوکتل
$ assArray1[flower]=گل رز
$ assArray1[animal]=ببر
خروجی
اسکریپت زیر آرایه انجمنی را مقداردهی اولیه می کند. assArrat2 در زمان اعلام آرایه در اینجا، سه مقدار آرایه با کلید در زمان اعلام آرایه تعریف شده است.
خروجی:
دسترسی به آرایه انجمنی:
عناصر آرایه یک آرایه انجمنی را می توان به صورت جداگانه یا با استفاده از هر حلقه ای در دسترس قرار داد. این دو راه در این قسمت از آموزش نشان داده شده است. کلیدهای آرایه و مقادیر می تواند باشد print جدا و با هم
دستورات زیر خواهد بود print دو مقدار از آرایه، assArray1 (پیشتر اعلام شد) با تعیین مقدار کلید.
خروجی:
پس از اجرای دستورات بالا خروجی زیر ظاهر می شود.
گاهی اوقات لازم است print همه کلیدها یا همه مقادیر آرایه. تمام کلیدهای یک آرایه را می توان با استفاده از حلقه یا چاپ کرد bash گسترش پارامتر اولین دستور زیر خواهد بود print تمام کلیدهای آرایه در هر خط با استفاده از حلقه for و فرمان دوم will print تمام کلیدهای آرایه در یک خط با استفاده از bash گسترش پارامتر اینجا، ‘!’ نماد برای خواندن کلیدهای آرایه انجمنی استفاده می شود.
$ echo “${!assArray1[@]}“
خروجی:
پس از اجرای دستورات بالا خروجی زیر ظاهر می شود.
تمام مقادیر یک آرایه را می توان با استفاده از حلقه یا چاپ کرد bash گسترش پارامتر اولین دستور زیر خواهد بود print تمام مقادیر آرایه در هر خط با استفاده از حلقه for و فرمان دوم will print تمام مقادیر آرایه در یک خط با استفاده از bash گسترش پارامتر
$ echo “${assArray1[@]}“
خروجی:
پس از اجرای دستورات بالا خروجی زیر ظاهر می شود.
هم کلیدها و هم مقادیر یک آرایه انجمنی را می توان با استفاده از حلقه for چاپ کرد. اسکریپت زیر خواهد بود print تمام مقادیر با کلیدهای آرایه انجمنی نامگذاری شده است assArray1. در اینجا، هر کلید آرایه در هر مرحله از حلقه for تجزیه می شود و از کلید به عنوان شاخص آرایه برای خواندن مقدار کلید مربوطه استفاده می شود.
خروجی:
پس از اجرای اسکریپت خروجی زیر ظاهر می شود.
افزودن داده های جدید در آرایه انجمنی:
یک عنصر آرایه جدید را می توان به راحتی پس از اعلام و مقداردهی اولیه آرایه به آرایه انجمنی اضافه کرد. دستورات زیر مقادیر آرایه فعلی آرایه را بررسی می کند، assArray2، یک مقدار جدید اضافه کنید،لاجیتک“با کلید،”موش” و دوباره عناصر فعلی آرایه را بررسی کنید.
$ assArray2+=([Mouse]= لاجیتک)
$ echo “${assArray2[@]}“
خروجی:
پس از اجرای دستورات خروجی زیر ظاهر می شود.
حذف داده ها از آرایه انجمنی:
هر مقدار عنصر از آرایه انجمنی را می توان بر اساس حذف کرد روی مقدار کلیدی دستور ‘unset’ برای حذف مقدار خاص آرایه انجمنی استفاده می شود. از دستورات زیر استفاده می شود، مقدار فعلی آرایه را با کلید بررسی کنید:نظارت کنید“، مقدار را با استفاده از دستور unset حذف کنید و دوباره ” را اجرا کنیدechoدستور برای بررسی مقدار حذف شده است یا خیر. $ echo ${assArray2[Monitor]}
$ echo ${assArray2[Monitor]}
خروجی:
پس از اجرای دستورات خروجی زیر ظاهر می شود.
یافتن شاخص گمشده از آرایه انجمنی:
شاخص یا کلید موجود در یک آرایه را می توان با استفاده از یک دستور شرطی پیدا کرد. اسکریپت زیر کلید آرایه را بررسی می کند، “مانیتور” وجود دارد یا نه مقدار این کلید در مثال قبلی حذف شده است. بنابراین، شرط “if” false خواهد شد و پیام “Not Found” چاپ خواهد شد.
خروجی:
پس از اجرای اسکریپت خروجی زیر ظاهر می شود.
حذف آرایه انجمنی:
هر آرایه انجمنی را می توان با استفاده از دستور ‘unset’ حذف کرد. اولین دستور زیر خواهد بود print تمام مقادیر آرایه نامگذاری شده assArray1 در صورت وجود آرایه در یک خط. دستور دوم آرایه را حذف می کند. دستور سوم برای بررسی وجود یا حذف آرایه استفاده می شود. اگر آرایه حذف شود، هیچ خروجی ظاهر نمی شود.
$ تنظیم نشده assArray1
$ echo “${assArray1[@]}“
خروجی:
پس از اجرای دستورات خروجی زیر ظاهر می شود.
نتیجه
زمانی که لازم است چندین داده جفت کلید-مقدار در آن ذخیره شود bash، پس بهتر است از آرایه انجمنی برای ذخیره داده ها استفاده کنید. اینکه چگونه رمزگذار می تواند آرایه انجمنی را اعلام و مقداردهی اولیه کند، کلیدهای آرایه یا مقادیر یا هر دو را تجزیه کند، عناصر آرایه را اضافه و حذف کند و آرایه را حذف کند در این آموزش با استفاده از اسکریپت های مختلف نشان داده شده است. امیدوارم خواننده بتواند از آرایه انجمنی استفاده کند bash پس از خواندن این آموزش به درستی
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 17:07:05