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

سرور مجازی NVMe

bc برای انجام عملیات حسابی پیشرفته در BASH

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


ماشین حساب پایه، همچنین به عنوان ‘bc’ شناخته می شود، یک لینوکس است command-line ابزار مورد استفاده برای انجام محاسبات و جبر پیشرفته در bash اسکریپت ها بسیاری از توابع ریاضی مختلف مانند سینوس، کسینوس، مماس، لگاریتم طبیعی را در bash. Bash نمی تواند عملیات حسابی پیشرفته مانند مقایسه شناورها را انجام دهد. اینجاست که bc به کار می آید. قبل از دستور ‘bc’ ‘dc’ (ماشین حساب میز)، یک ابزار یونیکس آمده است. در این آموزش از دستور ‘bc’ برای انجام عملیات حسابی پیشرفته استفاده می کنیم.

انجام عملیات حسابی پایه

عملیات ساده حسابی مانند جمع، تفریق، تقسیم و ضرب را می توان با استفاده از دستور ‘bc’ انجام داد. نحو برای اعمال عملگرهای باینری ساده در bash استفاده از دستور ‘bc’ به شرح زیر است.

ubuntu@ubuntu:~$ echo<num1> <اپراتور> <num2>| قبل از میلاد مسیح

در این قسمت از دستور ‘bc’ برای انجام عملیات ساده حسابی استفاده می کنیم.

ubuntu@ubuntu:~$ num1=2.35322 5

ubuntu@ubuntu:~$ num2=1.223353

ubuntu@ubuntu:~$ echo$num1+$num2| قبل از میلاد مسیح

3.576578

ubuntu@ubuntu:~$ echo$num1$num2| قبل از میلاد مسیح

1.129872

ubuntu@ubuntu:~$ echo$num1*$num2| قبل از میلاد مسیح

2.878824

ubuntu@ubuntu:~$ echo$num1/$num2| قبل از میلاد مسیح

1

bc برای انجام عملیات حسابی پیشرفته در BASH

در مثال بالا هنگام انجام تقسیم نتیجه را بدون اعشار بدست آوردیم. برای رسیدن به نتیجه تا نقطه اعشار ‘n’، باید مقدار مقیاس را همانطور که در مثال زیر نشان داده شده است روی ‘n’ تنظیم کنیم.

ubuntu@ubuntu:~$ echoمقیاس=10; $num1/$num2| قبل از میلاد مسیح

1.9235862420

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

از طرف دیگر، می‌توانیم از پرچم «-l» و دستور «bc» برای دریافت خروجی اعشاری استفاده کنیم.

ubuntu@ubuntu:~$ echo$num1/$num2| قبل از میلاد مسیح

1.92358624207403750184

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

دستور ‘bc’ همچنین می تواند برای انجام تقسیم مدول و محاسبه توان یک عدد استفاده شود bash اسکریپت ها

ubuntu@ubuntu:~$ echo10%4” | قبل از میلاد مسیح

2

ubuntu@ubuntu:~$ echo10^2| قبل از میلاد مسیح

100

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

انجام عملیات حسابی پیشرفته

تا کنون، ما از دستور ‘bc’ برای انجام برخی از عملیات های اساسی حسابی مانند جمع، تفریق، ضرب و غیره استفاده کرده ایم. در این بخش از دستور ‘bc’ برای انجام برخی عملیات حسابی پیشرفته استفاده می کنیم. ما در مورد چگونگی استفاده از عملگرهای مقایسه، عملگرهای منطقی یا بولی، توابع ریاضی پیشرفته و جملات شرطی بحث خواهیم کرد. bash با استفاده از دستور ‘bc’

پیشنهاد می‌کنیم بخوانید:  Awk Trim Space

اپراتورهای مقایسه

عملگرهای مقایسه دو عدد را می گیرند، آنها را با هم مقایسه می کنند و سپس برمی گردند 1 یا 0 بسته به مقایسه اگر مقایسه درست باشد، نتیجه آن است درست (1); در غیر این صورت، آن است نادرست (0). در زیر چند نمونه از عملگرهای مقایسه آورده شده است.

  • num1 > num2: این مقایسه باز خواهد گشت 1 اگر num1 بزرگتر از num2.
  • num1 < num2: نتیجه خواهد شد 1 اگر num1 کمتر از num2.
  • num1 <= num2: نتیجه خواهد شد 1 اگر num1 کمتر یا مساوی است num2.
  • num1 >= num2: نتیجه خواهد شد 1 اگر num1 بزرگتر یا مساوی است num2.
  • num1 == num2: نتیجه خواهد شد 1 اگر num1 برابر است با num2.
  • num1 != num2: نتیجه خواهد شد 1 اگر هر دو عدد برابر نباشند

در زیر چند نمونه از عملگرهای مقایسه استفاده شده همراه با دستور ‘bc’ آورده شده است.

ubuntu@ubuntu:~$ echo5==5| قبل از میلاد مسیح

1

ubuntu@ubuntu:~$ echo4!=4| قبل از میلاد مسیح

0

ubuntu@ubuntu:~$ echo2>5| قبل از میلاد مسیح

0

ubuntu@ubuntu:~$ echo4<=4| قبل از میلاد مسیح

1

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

عملگرهای بولی

عملگرهای Boolean یا Logical در دستورات شرطی برای انجام برخی تصمیمات منطقی استفاده می شوند. در زیر سه عملگر منطقی اصلی آورده شده است.

  • stat1 && stat2: این باز خواهد گشت 1 اگر هر دو عبارت باشند غیر صفر.
  • stat1 || stat2: این باز خواهد گشت 1 اگر هر یک از عبارات باشد غیر صفر.
  • ! آمار: این باز خواهد گشت 1 اگر بیانیه باشد غیر صفر و بالعکس.

مثال‌های زیر روش استفاده از عملگرهای منطقی با دستور bc را نشان می‌دهند.

ubuntu@ubuntu:~$ echo “-5 && 0| قبل از میلاد مسیح

0

ubuntu@ubuntu:~$ echo “-1 || 0| قبل از میلاد مسیح

1

ubuntu@ubuntu:~$ echo! 0| قبل از میلاد مسیح

1

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

اظهارات مشروط

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

ubuntu@ubuntu:~$ آ=15

ubuntu@ubuntu:~$ ب=20

ubuntu@ubuntu:~$ echoاگر(آ>ب) print “الف بزرگتر است” دیگر print “b بزرگتر است” | قبل از میلاد مسیح

b بزرگتر است

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

در مثال بالا، عبارت بررسی می کند که a بزرگتر از b است یا خیر. اگر a بزرگتر از b باشد، خواهد شد print “الف بزرگتر است”؛ در غیر این صورت، خواهد شد print “b بزرگتر است.” ما می توانیم هر شرطی را با استفاده از عملگرهای بولی و مقایسه در مثال بالا اعمال کنیم.

پیشنهاد می‌کنیم بخوانید:  چگونه یک فرمان را چندین بار در لینوکس اجرا کنیم؟

توابع ریاضی

دستور ‘bc’ همچنین برخی از توابع ریاضی داخلی را ارائه می دهد که می توانیم بدون تعریف آنها از آنها استفاده کنیم. در زیر برخی از توابع ضروری مورد استفاده با دستور ‘bc’ در زیر آمده است bash.

  • s(x): سینوس x را که x بر حسب رادیان است برمی گرداند
  • c(x): کسینوس x را که x بر حسب رادیان است برمی گرداند
  • تبر): مماس x را برمی گرداند و نتیجه بر حسب رادیان است
  • sqrt(x): جذر x را برمی گرداند. وقتی x منفی باشد باعث خطای زمان اجرا می شود
  • l(x): گزارش طبیعی x را برمی گرداند.

این توابع را می توان با دستور ‘bc’ استفاده کرد، همانطور که در مثال های زیر نشان داده شده است.

ubuntu@ubuntu:~$ پی=3.1415

ubuntu@ubuntu:~$ echo “س($pi/2)| قبل از میلاد مسیح

1

ubuntu@ubuntu:~$ echo ج($pi/2)| قبل از میلاد مسیح

0

ubuntu@ubuntu:~$ echo “آ(1)| قبل از میلاد مسیح

0.7854

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

جذر یک عدد را می توان در محاسبه کرد bash با استفاده از دستور ‘bc’ همانطور که در شکل زیر نشان داده شده است.

ubuntu@ubuntu:~$ echo “sqrt(4)| قبل از میلاد مسیح

2

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

در حالی که سعی می کنید جذر یک عدد منفی را محاسبه کنید، پوسته یک خطای زمان اجرا ایجاد می کند.

ubuntu@ubuntu:~$ echo “sqrt(2)| قبل از میلاد مسیح

خطای زمان اجرا (تابع=(اصلی)، adr=4): جذر یک عدد منفی

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

لگاریتم طبیعی یک عدد را می توان در محاسبه کرد bash با استفاده از دستور ‘bc’ به صورت زیر.

ubuntu@ubuntu:~$ echo “ل(2)| قبل از میلاد مسیح

.69314718055994530941

bc برای انجام عملیات حسابی پیشرفته در BASHbc برای انجام عملیات حسابی پیشرفته در BASH

نتیجه

هنگام نوشتن اسکریپت های اتوماسیون در bash، گاهی برای اجرای دستورات به توابع ریاضی پیشرفته و عملگرهای منطقی نیاز داریم. دستور ‘bc’ بسیاری از توابع و عملگرهای ریاضی پیشرفته را برای انجام محاسبات حسابی سطح بالا ارائه می دهد. در این آموزش استفاده از دستور ‘bc’ برای انجام عملیات حسابی پیشرفته در آن بحث شده است bash.

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

زمان انتشار: 1402-12-31 01:51:05

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

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

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