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



  • ۲۰
  • اسفند

جلسه ۱۶-۰۱ : بررسی عملگرهای Shell در یونیکس (UNIX)

  • دسته‌بندی‌ها :
جلسه ۱۶-۰۱ : بررسی عملگرهای Shell در یونیکس (UNIX)
    • جزئیات

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

      بررسی عملگرهای Shell در یونیکس (UNIX)

      عملگرهای مختلفی وجود دارد که توسط هر شل پشتیبانی می شوند. ما در این بخش با جزئیاتی درباره Bourne shell (پوسته پیش فرض) صحبت خواهیم کرد.

      اکنون در مورد عملگرهای زیر بحث خواهیم کرد.

      • عملگرهای حسابی (Arithmetic)
      • عملگرهای رابطه ای (Relational)
      • عملگرهای بولین (Boolean)
      • عملگرهای رشته (String)
      • عملگرهای File Test

      Bourne shell در ابتدا هیچ مکانیسمی برای انجام عملیات حسابی ساده نداشت اما از برنامه های خارجی اعم از awk یا expr استفاده می کرد.

      مثال زیر نحوه جمع کردن دو عدد را نشان می دهد.

      مثال : 

      اسکریپت بالا نتیجه زیر را ایجاد می کند.

      مثال : 

      ضمن add کردن نکات زیر باید مورد توجه قرار گیرد.

      • باید فاصله بین عملگرها و عبارات وجود داشته باشد. به عنوان مثال ، ۲+۲ صحیح نیست؛ باید به صورت ۲ + ۲ نوشته شود.

      عبارت کامل باید بین ‘ ‘محصور شود ، backtick نامیده می شود.

      عملگرهای حسابی

      عملگرهای حسابی زیر توسط Bourne Shell پشتیبانی می شوند.

      فرض کنید متغیر a دارای ۱۰ و متغیر b دارای مقدار ۲۰ است. سپس:

      عملگر

      شرحمثال
      + (Addition) – اضافه کردنمقادیر هر طرف عملگر را به هم اضافه می کند.expr $a + $b می شود ۳۰
      – (Subtraction) – کم کردنعملوند دست راست را از عملوند دست چپ کم می کند.expr $a - $b می شود ۱۰-
      * (Multiplication) – ضرب کردنمقادیر دو هر طرف عملگر را در هم ضرب می کند.expr $a \* $b می شود ۲۰۰
      / (Division) – تقسیمعملوند دست چپ را توسط عملوند دست راست تقسيم مي كند.expr $b / $aمی شود ۲
      % (Modulus)عملوند دست چپ را بر عملوند دست راست تقسیم کرده و باقیمانده را بازمی گرداند.expr $b % $a می شود ۰
      = (Assignment) – تخصیصعملوند راست را به عملوند چپ اختصاص می دهد.a = $b مقدار b را به مقدار a اختصاص می دهد
      == (Equality) – تساویدو عدد را با هم مقایسه می کند ، اگر هر دو یکسان باشند ، true را برمی گرداند.[ $a == $b ] برمی گرداند false را.
      != (Not Equality)دو عدد را با هم مقایسه می کند ، اگر آن دو با هم متفاوت باشند ، true را برمی گردند.[ $a != $b ] برمی گرداند true را.

      درک این نکته ضروری است که همه عبارات شرطی باید در داخل براکت [] با فضاهایی اطراف شان باشند ، برای مثال [ $a == $b ] صحیح است در حالی که ، [$a==$b] نادرست است.

      تمام محاسبات حسابی با استفاده از اعداد صحیح طولانی انجام می شود.

       

      عملگرهای رابطه ای (Relational)

      Bourne Shell از عملگرهای رابطه ای زیر که مختص مقادیر عددی هستند پشتیبانی می کند. این عملگرها برای مقادیر رشته کار نمی کنند مگر این که مقدار آن ها عددی باشد.

      به عنوان مثال ، عملگرهای زیر برای بررسی رابطه بین ۱۰ و ۲۰ و همچنین بین “۱۰” و “۲۰” کار می کنند اما برای “ده” و “بیست” کار نمی کنند.

      فرض کنید متغیر a دارای مقدار ۱۰ و متغیر b دارای مقدار ۲۰ است. سپس:

      عملگرشرحمثال
      eq-بررسی می کند که آیا مقدار دو عملوند برابر است یا نه. اگر بله ، پس شرط true است.[ a -eq $b$ ] درست (true) نیست.
      ne-بررسی می کند که آیا مقدار دو عملوند برابر است یا نه. اگر مقادیر مساوی نباشند ، این شرط true است.[ a -ne $b$ ] درست (true) است.
      gt-بررسی می کند که آیا مقدار عملوند چپ از مقدار عملوند راست بیش تر است یا نه. اگر بله ، پس شرط درست است.[ a -gt $b$ ] درست (true) نیست.
      lt-بررسی می کند که آیا مقدار عملوند چپ کم تر از مقدار عملوند راست است یا خیر. اگر بله ، پس شرط درست است.[ a -lt $b$ ] درست (true) است..
      ge-بررسی می کند که آیا مقدار عملوند چپ بزرگ تر یا مساوی با مقدار عملوند راست است یا خیر. اگر بله ، پس شرط درست است.[ a -ge $b$ ] درست (true) نیست..
      le-بررسی می کند که آیا مقدار عملوند چپ کم تر یا مساوی با مقدار عمل راست است یا خیر. اگر بله ، پس شرط درست است.[ a -le $b$ ] درست (true) است.

      درک این نکته بسیار مهم است که همه عبارات شرطی را باید درون براکت [] با فضاهای اطراف آن ها قرار دهید. به عنوان مثال ، [ $a <= $b ] درست است در حالی که ، [$a <= $b] نادرست است.

      مبحث بررسی عملگرهای Shell در یونیکس (UNIX) را در این بخش به پایان می رسانیم.

      کلام پایانی

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

      QR:  جلسه ۱۶-۰۱ : بررسی عملگرهای Shell در یونیکس (UNIX)
      به اشتراک بگذارید