دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۰
  • اسفند

جلسه ۲۳ : بررسی توابع Shell در یونیکس (UNIX)

  • دسته‌بندی‌ها :
جلسه ۲۳ : بررسی توابع Shell در یونیکس (UNIX)
    • جزئیات
    • نوع محتواآموزشی

      دوستان و علاقمندان به مباحث آموزش یونیکس (UNIX) ، این آموزش را از سایت پی وی لرن دنبال خواهیم نمود. بررسی توابع Shell در یونیکس (UNIX) رو در این بخش از آموزش دنبال خواهیم نمود.

      بررسی توابع Shell در یونیکس (UNIX)

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

      استفاده از توابع برای انجام کارهای تکراری روشی عالی برای ایجاد استفاده مجدد از کد است. این بخش مهمی از اصول برنامه نویسی شی گرا مدرن است.

      توابع Shell شبیه روال ها ، متدها و توابع در دیگر زبان های برنامه نویسی است.

      ایجاد توابع

      برای اعلام یک تابع، صرفاً از سینتکس زیر استفاده کنید.

      مثال : 

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

      مثال

      مثال زیر استفاده از تابع را نشان می دهد.

      مثال : 

      پس از اجرا ، خروجی زیر را دریافت خواهید کرد.

      مثال : 

      عبور پارامترها به یک تابع

      شما می توانید تابعی را تعریف کنید که هنگام فراخوانی تابع ، پارامترهایی را بپذیرد. این پارامترها با $۱, $۲ و غیره نمایش داده می شوند.

      در زیر مثالی آمده است که دو پارامتر Zara و Ali را عبور می دهیم و سپس این پارامترها را در تابع ضبط و چاپ می کنیم.

      مثال : 

      پس از اجرا ، خروجی زیر را دریافت خواهید کرد.

      مثال : 

      بازگشت مقادیر از توابع

      اگر دستور خروجی را از داخل یک تابع اجرا کنید ، تأثیر آن نه تنها برای ترمینال اجرای تابع است بلکه درباره ی برنامه شلی است که تابع نامیده می شود.

      اگر به جای آن می خواهید تنها اجرای تابع را خاتمه دهید ، راهی برای بیرون آمدن از یک تابع تعریف شده، وجود دارد.

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

      مثال : 

      در این جا code می تواند هر چیزی که شما در این جا انتخاب می کنید، باشد. اما بدیهی است که شما باید محتوایی را انتخاب کنید که در اسکریپت تان معنادار یا مفید باشد.

      مثال

      تابع زیر مقدار ۱۰ را برمی گرداند.

      مثال : 

      پس از اجرا ، نتیجه زیر را دریافت خواهید کرد.

      مثال : 

      توابع تو در تو

      یکی از ویژگی های جالب توابع این است که می توانند خودشان و همچنین توابع دیگر را فراخوانی کنند. تابعی که خود را فراخوانی می کند به عنوان یک تابع بازگشتی شناخته می شود.

      مثال زیر دو تابع تو در تو را نشان می دهد.

      مثال : 

      پس از اجرا ، نتیجه زیر را دریافت خواهید کرد.

      مثال : 

      فراخوانی تابع از Prompt

      شما می توانید تعاریف مربوط به توابع متداول را در داخل profile. خود قرار دهید. این تعاریف هر زمان که وارد شوید در دسترس خواهد بود و می توانید از آن ها در دستور prompt استفاده کنید.

      از طرف دیگر ، می توانید تعاریف را در یک فایل ، مثلاً test.sh ، گروه بندی کنید و سپس با تایپ کردن ، فایل را در شل فعلی اجرا کنید.

      مثال : 

      این امر باعث می شود که توابع تعریف شده در test.sh خوانده شود و به شل فعلی به شرح زیر تعریف شود.

      مثال : 

      برای حذف تعریف یک تابع از شل، از دستور unset با گزینه f. استفاده کنید. این دستور همچنین برای حذف تعریف متغیر از شل استفاده می شود.

      مثال : 

      کلام پایانی

      در این بخش از آموزش یونیکس، با بررسی توابع Shell در یونیکس (UNIX) همراه بودیم. در بخش بعدی با مبحث Shell Manpage Help در خدمتتون خواهیم بود. با وب سایت آموزشی پی وی لرن همراه باشید.

      QR:  جلسه ۲۳ : بررسی توابع Shell در یونیکس (UNIX)
      به اشتراک بگذارید