وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

0 2
زمان لازم برای مطالعه: 4 دقیقه


ممکن است در نگاه اول به نظر برسد که برگرداندن یک آرایه از یک تابع Bash واقع بینانه نیست. با در نظر گرفتن تمام مزایا، فراخوانی چندین روش برای ساخت آرایه ها برای تقسیم آنها می تواند مفید باشد process جمع آوری تمام پارامترهای مناسب برای فراخوانی YAD.

دلایل زیادی وجود دارد که ممکن است کسی بخواهد یک آرایه BASH را بازیابی کند:

  • مدیریت طول عمر آرایه ها ساده تر است زیرا آنها به صورت محلی تخصیص داده می شوند.
  • برای دستیابی به موقع، به دست آوردن آرایه ها از روش ها ممکن است کمک کند.
  • برای پشتیبانی از تکنیک‌های الگوریتم لاگ، نام روش‌هایی که آرایه‌ها را برمی‌گردانند ممکن است حذف شود.

ممکن است باور داشته باشید که Bash قابلیت بازگرداندن آرایه های تابع را از دست می دهد. با این حال، این دقیقاً صحیح نیست. می توان آرایه حاصل را با استفاده از ارجاع به یک متد منتقل کرد و از توسعه دهندگان C/C++ استفاده کرد. چنین استراتژی به روش اجازه می دهد تا همچنان عاری از ارجاع به یک متغیر جهانی باشد. مقاله زیر مصادیق واضحی از این مورد را نشان می دهد.

مثال 1: برگرداندن یک آرایه

وارد سیستم لینوکس خود شوید و دستور را باز کنید terminal برای ادامه. ما یک فایل Bash با نام “script.sh” با استفاده از دست زدن به دستور برگرداندن آرایه با استفاده از تابع Bash. فیلمنامه به شرح زیر است:

$ دست زدن به script.sh

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

می توانید فایل جدید ایجاد شده را در قسمت مشاهده کنید صفحه اصلی فهرست راهنما. این فایل را باز کنید و کد ضمیمه شده را همانطور که هست در آن یادداشت کنید. در اینجا، ما سعی می کنیم یک آرایه انجمنی را از طریق یک آرگومان در یک متد از هر یک از یک لیست پاس ایجاد کنیم.

در ابتدا، ما تابع را ایجاد کرده ایم فو ().

در داخل این برنامه، عبارت «اعلان» را حذف کرده‌ایم که یک دستور از پیش پیکربندی شده Bash است که به ما امکان می‌دهد ویژگی‌ها، روش‌های پوسته آغشته به متغیرها را تغییر یا سفارشی‌سازی کنیم و مقادیر این ویژگی‌ها را در داخل نشان دهیم. دامنه فرمان پوسته ما terminal. علاوه بر این، می توان از آن برای تعریف یک متغیر طولانی استفاده کرد. در نهایت برای تعریف متغیرها استفاده می شود.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از Stdin، Stderr، و Stdout Streams در Bash

ما مقدار “fooval” را به آرایه “arr” اضافه کرده ایم.

کلمه کلیدی “–A” برای ایجاد استفاده می شود NAMEs آرایه انجمنی در صورت پشتیبانی ما باید از لیست/آرایه به عنوان یک متغیر سراسری استفاده کنیم، که به این معنی است که فقط یک متد، نه یک اسکریپت، می تواند این عمل را انجام دهد.

همچنین آرایه دیگری به نام myarr برای استفاده به عنوان مرجع ایجاد کرده ایم. Bash اجازه می دهد تا نام یک متغیر نسبی arr با نام متغیر نسبی myarr متفاوت باشد.

پس از آن، در خط هشتم، آرایه “myarr” را به Bash منتقل کرده ایم فو () به عنوان یک مرجع عمل کند.

در گذشته از حلقه for استفاده می کردیم print هر دو آرایه “arr” و “myarr” به the فو () تابع.

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

اکنون نتیجه این کد را بررسی می کنیم. برای اجرای کد بالا دستور Bash را اجرا کنید. می بینید که آرایه به تابع برگردانده شده و سپس چاپ شده است.

$ bash script.sh

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

مثال 2: برگرداندن یک آرایه دیگر

اجازه دهید به مثال دیگری از برگرداندن آرایه ها به یک تابع نگاه کنیم. فرمان خود را باز کنید terminal و یک فایل جدید با نام “openvpn.log” با استفاده از دست زدن به دستور، به شرح زیر:

$ دست زدن به openvpn.log

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

حالا فایل “openvpn.log” را باز کنید و متن زیر را مانند تصویر در این فایل بنویسید. این فایل را ذخیره کرده و ببندید.

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

مجدداً پوسته فرمان را باز کنید و با استفاده از آن فایل دیگری به نام script.sh ایجاد کنید دست زدن به دستور اضافه کردن اسکریپت Bash به فایل.

$ دست زدن به script.sh

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

سپس فایل script.sh را باز کنید و کد زیر را همانطور که هست به این فایل اضافه کنید. این فایل را ذخیره و ببندید. این اسکریپت از روشی استفاده می‌کند که مقادیر/رشته‌ها را از یک سند می‌خواند و یک آرایه را برمی‌گرداند:

  • اعلان آرایه: مشتریان
  • آرایه برگشتی متد را به مشتریان آرایه اختصاص دهید
  • نمایش آرایه: مشتریان

اکنون اجازه دهید نگاهی دقیق به عملکرد این اسکریپت داشته باشیم.

  • ما یک آرایه جهانی از “مشتریان” را با استفاده از کلمه کلیدی “اعلان” و به دنبال آن “-A” اعلام کرده ایم.
  • ReadArray() تابع تعریف شده است. در این تابع چند متغیر محلی را اعلام کرده ایم. متغیر محلی “آرایه” خالی است، اما “i” و “j” با مقدار 0 برای استفاده به عنوان تکرار کننده تعریف شده اند.
  • با استفاده از حالت خواندن، متن را از فایل با استفاده از تکرارکننده ها برای افزایش ایندکس ها می خوانیم.
  • خط «مشتریان[$((i++))]+=${LINE};” برای الحاق خطوط متن به متغیر آرایه مشتریان تعریف شده جهانی استفاده می شود.
  • پس از آن، “j++” در حال پرش است روی شاخص بعدی
  • متغیر “$1” برای ذخیره و برگرداندن آرایه ای که به تازگی از فایل متنی “openvpn.log” ایجاد شده است استفاده می شود.
  • در قسمت بیرونی تابع، رشته به عنوان “$string” اعلام شده است و یک مسیر فایل به عنوان مقدار داده شده است.
  • این رشته به خواندن آرایه به عنوان مرجعی برای خواندن متن از این فایل عمل کنید.
  • پس از آن، آرایه “مشتریان” چاپ شده است و کل متن درون آن در یک خط نمایش داده می شود.
  • اکنون پیغامی مبنی بر خالی نبودن آرایه نمایش داده می شود.
  • حلقه “for” برای تبدیل محتویات آرایه “مشتریان” به نوع آرایه و اعلام شاخصی برای محتویات با استفاده از عبارت “استفاده شده است.echo «$i: ${مشتریان[$i]}.”
  • در نهایت، ما یک پیام نمایش دادیم و برخی از مقادیر آرایه تبدیل شده را به صورت جداگانه به عنوان یک موقعیت نمایه شده واحد از یک آرایه چاپ کردیم.
پیشنهاد می‌کنیم بخوانید:  چگونه می توان دستورات شل را در هنگام اجرا در Bash اکو کرد

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

اجازه دهید اکنون خروجی این اسکریپت Bash را بررسی کنیم. دستور Bash را برای اجرای فایل “script.sh” اجرا کنید. همانطور که می بینید، اولین echo بیانیه اراده print تمام متن فایل “openvpn.log” که در آرایه “مشتریان” به عنوان یک خط ذخیره شده است. دومین echo بیانیه پیام رشته را نمایش می دهد. سومین echo بیانیه آرایه “مشتریان” را به شکل نمایه شده نمایش می دهد، زیرا به تازگی تبدیل شده است. مورد چهارم دوباره یک پیام نمایش می دهد. آخرین مورد، محتویات آرایه “مشتریان” را به صورت جداگانه نمایش می دهد.

چگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداندچگونه یک تابع Bash ایجاد کنیم که یک آرایه را برمی گرداند

نتیجه

این مقاله به شما نشان داد که چگونه با دو مثال، آرایه‌ها (مخصوصاً آرایه‌های انجمنی) را با استفاده از دستور داخلی «اعلان» به یک تابع برگردانید. امیدوارم این مقاله به شما برای درک بهتر این موضوع کمک کرده باشد.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 04:00:06

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید