دوستان و علاقمندان به مباحث آموزش یونیکس (UNIX) ، این آموزش را از سایت پی وی لرن دنبال خواهیم نمود. نحوه استفاده از shell array در یونیکس را در این بخش از آموزش یونیکس مورد بررسی قرار می دهیم.
در این بخش، ما در مورد نحوه استفاده از shell array در یونیکس بحث خواهیم کرد. یک متغیر پوسته به اندازه کافی قادر به نگه داشتن یک مقدار واحد است. این متغیرها متغیرهای scalar نامیده می شوند.
Shell از نوع دیگری از متغیر ها، به نام متغیر array پشتیبانی می کند. این می تواند چندین مقدار را همزمان حفظ کند. آرایه ها روش گروه بندی مجموعه ای از متغیرها را ارائه می دهند. به جای ایجاد نام جدید برای هر متغیر مورد نیاز ، می توانید از یک متغیر array single استفاده کنید که تمام متغیرهای دیگر را ذخیره می کند.
تمام قوانین نامگذاری مورد بحث برای متغیرهای Shell در هنگام نامگذاری آرایه ها قابل اجرا خواهند بود.
تفاوت متغیر Array و متغیر scalar را می توان به شرح زیر توضیح داد.
فرض کنید شما سعی دارید نام دانش آموزان مختلف را به عنوان مجموعه ای از متغیرها نشان دهید. هر یک از متغیرهای فردی یک متغیر scalar به شرح زیر است.
1 2 3 4 5 | NAME01="Zara" NAME02="Qadir" NAME03="Mahnaz" NAME04="Ayan" NAME05="Daisy" |
برای ذخیره کلیه نام های فوق می توانیم از یک آرایه واحد استفاده کنیم. در زیر ساده ترین روش ایجاد متغیر آرایه است. این کمک می کند تا مقدار خود را به یکی از شاخص های خود اختصاص دهید.
1 | array_name[index]=value |
در این جا array_name نام آرایه است ، index، ایندکس آیتم موجود در آرایه ای است که می خواهید تنظیم کنید و مقدار آن مقداری است که می خواهید برای آن آیتم، تعیین کنید.
به عنوان نمونه ، دستورات زیر را داریم.
1 2 3 4 5 | NAME[0]="Zara" NAME[1]="Qadir" NAME[2]="Mahnaz" NAME[3]="Ayan" NAME[4]="Daisy" |
اگر از شل ksh استفاده می کنید ، سینتکس مقدار دهی اولیه آرایه به شکل زیر است.
1 | set -A array_name value1 value2 ... valuen |
اگر از شل bash استفاده می کنید ، سینتکس مقدار دهی اولیه آرایه به شکل زیر است.
1 | array_name=(value1 ... valuen) |
بعد از تنظیم متغیرهای آرایه ، به شرح زیر به آن دسترسی پیدا می کنید.
1 | ${array_name[index]} |
در این جا array_name نام آرایه است و index شاخصی است برای دستیابی به آن. در زیر مثالی برای درک مفهوم ان آورده شده است.
1 2 3 4 5 6 7 8 9 | #!/bin/sh NAME[0]="Zara" NAME[1]="Qadir" NAME[2]="Mahnaz" NAME[3]="Ayan" NAME[4]="Daisy" echo "First Index: ${NAME[0]}" echo "Second Index: ${NAME[1]}" |
مثال بالا نتیجه زیر را ایجاد می کند.
1 2 3 | $./test.sh First Index: Zara Second Index: Qadir |
می توانید به یکی از روش های زیر به همه موارد دسترسی پیدا کنید.
1 2 | ${array_name[*]} ${array_name[@]} |
در این جا array_name نام آرایه ای است که شما به آن علاقه دارید. مثال زیر به شما در درک مفهوم کمک می کند.
1 2 3 4 5 6 7 8 9 10 | Live Demo #!/bin/sh NAME[0]="Zara" NAME[1]="Qadir" NAME[2]="Mahnaz" NAME[3]="Ayan" NAME[4]="Daisy" echo "First Method: ${NAME[*]}" echo "Second Method: ${NAME[@]}" |
مثال بالا نتیجه زیر را ایجاد می کند.
1 2 3 | $./test.sh First Method: Zara Qadir Mahnaz Ayan Daisy Second Method: Zara Qadir Mahnaz Ayan Daisy |
با نحوه استفاده از shell array در یونیکس ، در این بخش از آموزش یونیکس آشنا شدیم. در جلسه ی آینده به بررسی عملگرهای پایه Shell می پردازیم. با وب سایت آموزشی پی وی لرن همراه باشید.