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



  • ۲۰
  • اسفند

جلسه ۱۴ : متغیرهای ویژه در یونیکس (UNIX)

  • دسته‌بندی‌ها :
جلسه ۱۴ : متغیرهای ویژه در یونیکس (UNIX)
    • جزئیات
    • نوع محتواآموزشی

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

      متغیرهای ویژه در یونیکس (UNIX)

      در این بخش، به طور مفصل در مورد متغیرهای ویژه در یونیکس بحث خواهیم کرد. در بخش های قبلی گفتیم که وقتی در اسامی متغیر از برخی کاراکتر های غیر الفبایی استفاده می کنیم باید مراقب باشیم. این امر به این دلیل است که از این کاراکتر ها در نام متغیرهای خاص یونیکس استفاده می شود. این متغیرها برای توابع خاص محفوظ است.

      به عنوان مثال ، کاراکتر $ نشانگر شماره ID فرآیند یا PID پوسته جاری است.

      مثال : 

      دستور فوق PID شل جاری را می نویسد.

      مثال : 

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

      ردیفمتغیر و شرح
      ۱

      filename فایل جاری.

       

      ۲n$

      این متغیرها با آرگومان هایی که با استفاده از یک اسکریپت استناد شده است، مطابقت دارد. در این جا n یک عدد اعشاری مثبت مطابق با موقعیت یک آرگومان (آرگومان اول ۱$ ، آرگومان دوم ۲$ و غیره) است.

       

      ۳#$

      تعداد آرگومان های ارائه شده به یک اسکریپت.

       

      ۴*$

      همه آرگومان ها به صورت کوتیشن دوتایی هستند. اگر یک اسکریپت دو آرگومان دریافت کند ، *$ معادل ۱$ ۲$ است.

       

      ۵@$

      همه آرگومان ها به صورت کوتیشن دوتایی جداگانه هستند. اگر یک اسکریپت دو آرگومان دریافت کند ، @$ معادل ۱$ ۲$ است.

       

      ۶?$

      وضعیت خروج آخرین فرمان اجرا شده است.

       

      ۷$$

      شماره فرآیند شل جاری. برای shell script ها ، این ID فرایندی است که تحت آن ها در حال اجرا هستند.

       

      ۸!$

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

      آرگومان خط فرمان (Command-Line Arguments)

      آرگومان های خط فرمان $۱, $۲, $۳, …$۹، پارامترهای موقعیتی هستند که ۰$ به فرمان واقعی ، برنامه ، shell script یا تابع و $۱, $۲, $۳, …$۹  به عنوان آرگومان هایی برای آن دستور اشاره دارد.

      اسکریپت زیر از متغیرهای مختلف مربوط به خط فرمان استفاده می کند.

      مثال : 

      در این جا نمونه ای برای اسکریپت فوق وجود دارد.

      مثال : 

      پارامترهای ویژه *$ و @$

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

      هر دو پارامتر آرگومان های خط فرمان را مشخص می کنند. با این حال ، پارامتر ویژه “*$” کل لیست را به عنوان یک آرگومان با فاصله بین و پارامتر ویژه “@$” کل لیست را می گیرد و آن را به آرگومان های جداگانه تقسیم می کند.

      می توانیم اسکریپت شل را مطابق شکل زیر بنویسیم تا تعداد نامعلوم آرگومان های خط فرمان را با پارامترهای خاص *$ یا @$ پردازش کنیم.

      مثال : 

      در این جا نمونه ای برای اسکریپت فوق وجود دارد.

      مثال : 

      توجه – در این جا …Here do انجام شده نوعی حلقه است که در آموزش بعدی پوشش داده خواهد شد.

      وضعیت خروج (Exit Status)

      متغیر ?$ وضعیت خروج دستور قبلی را نشان می دهد.

      وضعیت خروج یک مقدار عددی است که توسط هر دستور پس از اتمام آن بازگردانده می شود. به عنوان یک قاعده ، اکثر دستورات در صورت موفق بودن وضعیت خروج ۰ را برمی گردانند و اگر ناموفق بودند ۱٫

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

      در زیر مثال دستورات موفق آمده است.

      مثال : 

      کلام پایانی

      در این بخش از آموزش یونیکس با نحوه ی کار با متغیرهای ویژه آشنا شدیم. در بخش بعد استفاده از آرایه ها را مورد بحث قرار می دهیم. با وب سایت اموزشی پی وی لذن همراه باشید.

      QR:  جلسه ۱۴ : متغیرهای ویژه در یونیکس (UNIX)
      به اشتراک بگذارید