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

سرور مجازی NVMe

عملیات حسابی بش

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


انجام عملیات حسابی در bash شبیه سایر زبان های برنامه نویسی استاندارد نیست. یکی از محدودیت های bash این است که نمی تواند مانند سایر زبان های اسکریپت نویسی با ممیز شناور یا اعداد دو برابر شود. ابزار فرمان دیگری در این مورد استفاده می شود bash برای حل این مسئله. انواع مختلف عملیات حسابی در این آموزش با استفاده از مثال های مختلف نشان داده شده است.

مثال – 1: با استفاده از فرمان ‘expr’

قدیمی ترین دستور برای انجام عملیات حسابی در bash است ‘expr‘. این دستور فقط با مقادیر صحیح کار می کند و خروجی را مستقیماً در آن چاپ می کند terminal. هنگامی که می خواهید از ” استفاده کنید باید از فاصله با هر عملوند استفاده کنید.exprفرمان برای انجام هر گونه عملیات ریاضی. ایجاد یک bash فایل به نام expr.bash با اسکریپت زیر برای دانستن استفاده از “expr‘ فرمان

#!/صندوقچه/bash

# به عنوان رشته کار می کند
expr ’10 + 30′

# به عنوان رشته کار می کند
expr 10+30

#افزودن را انجام دهید
expr 10 + 30

#مقدار باقیمانده را دریابید
expr 30 % 9

#استفاده از expr با بکتیک
myVal1=`expr 30 / 10`
اکو $myVal1

#استفاده از expr در جایگزین دستور
myVal2=$( expr 3010 )
اکو $myVal2

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash expr.bash

خروجی:

خروجی نشان می دهد که عملگرهای حسابی فقط زمانی کار می کنند که برای هر مقدار عددی از فاصله استفاده شود و هیچ نقل قولی با expr فرمان شما همچنین می توانید خروجی را اختصاص دهید expr به یک متغیر دستور دهید و بعداً با استفاده از آن متغیر را چاپ کنید بکتیک یا جایگزین فرمان. 30/10 با استفاده محاسبه می شود بکتیک و 30-10 با استفاده محاسبه می شود جایگزین فرمان.

عملیات حسابی بش

مثال – 2: استفاده از “let” Command

‘اجازه دهید’ یکی دیگر از دستورات داخلی برای انجام عملیات حسابی است bash. ‘اجازه دهید’ دستور نمی تواند خروجی را در terminal بدون ذخیره مقدار در یک متغیر ولی “بگذار” دستور را می توان برای حذف محدودیت های دیگر استفاده کرد ‘expr’ فرمان ایجاد یک bash فایل به نام اجازه دهید.bash با اسکریپت زیر برای دانستن استفاده از ‘اجازه دهید’ فرمان

#!/صندوقچه/bash

# ضرب 9 در 8
اجازه دهید val1=9*3
اکو $val1

# تقسیم 8 بر 3
اجازه دهید “val2 = 8/3”
اکو $val2

# 3 را از 9 کم کنید
اجازه دهید val3=93
اکو $val3

# اعمال افزایش
اجازه دهید val4=7
اجازه دهید val4++
اکو $val4

# استفاده از مقدار آرگومان در عملیات حسابی
اجازه دهید “val5=50+$1”
اکو val5 دلار

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash اجازه دهید.bash 50

خروجی:

خروجی این را نشان می دهد “بگذار” فرمان انعطاف پذیرتر از ‘ استexpr‘ فرمان شما می توانید هر عبارت حسابی را با یا بدون نقل قول ارزیابی کنید. اما شما نمی توانید از فضا در هیچ عبارت ریاضی استفاده کنید. عملگر افزایش یا کاهش را می توان در ‘ استفاده کرداجازه دهید‘ فرمان چگونه می توان عملیات حسابی را با استفاده از مقادیر آرگومان انجام داد رااجازه دهیدفرمان ‘ در قسمت آخر مثال نشان داده شده است.

پیشنهاد می‌کنیم بخوانید:  Bash For Loop ادامه دهید

عملیات حسابی بشعملیات حسابی بش

مثال – 3: استفاده از دو براکت

هر عملیات حسابی را می توان در انجام داد bash بدون استفاده از هیچ دستوری در اینجا از دو براکت برای انجام کارهای حسابی استفاده می شود و استفاده از دو براکت برای اجرای عبارات ریاضی انعطاف پذیرتر از دستوری مانند ‘ است.expr‘ یا ‘اجازه دهید‘. ایجاد یک bash فایلی با نام dbl.bash با اسکریپت زیر عملیات محاسباتی را با استفاده از دو براکت تست کنید.

#!/صندوقچه/bash

# عبارت ریاضی را محاسبه کنید
val1=$((10*5+15))
اکو $val1

# استفاده از عملگر پست یا پیش افزایش/کاهش
((val1++))
اکو $val1
val2=41
((–val2))
اکو $val2

# استفاده از عملگر مختصر
(( val2 += 60 ))
اکو $val2

# تقسیم 40 بر 6
(( val3 = 40/6 ))
اکو $val3

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash dbl.bash

خروجی:

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

عملیات حسابی بشعملیات حسابی بش

مثال – 4: استفاده از فرمان ‘bc’ برای اعداد شناور یا دوتایی

یکی از محدودیت های عمده روش های فوق برای انجام عملیات حسابی در bash این است که ‘expr‘ یا ‘اجازه دهید‘ یا دو براکت عبارات قادر به تولید اعداد ممیز شناور یا دوگانه نیستند. خروجی عملیات تقسیم نمونه های فوق اعداد صحیح هستند. ‘قبل از میلاد مسیحدستور ‘ می تواند برای حل این مشکل استفاده شود و به عنوان یک ماشین حساب اولیه برای سیستم عامل لینوکس کار می کند. ایجاد یک bash فایل به نام قبل از میلاد مسیح.bash با اسکریپت زیر برای دانستن استفاده از “پیش از میلاد” دستور در عملیات حسابی

#!/صندوقچه/bash

# تقسیم 55 بر 3 فقط با bc
اکو “55/3” | قبل از میلاد مسیح

# تقسیم 55 بر 3 با گزینه bc و -l
اکو “55/3” | قبل از میلاد مسیح

# تقسیم 55 بر 3 با bc و مقدار مقیاس
اکو “مقیاس=2؛ 55/3” | قبل از میلاد مسیح

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash قبل از میلاد مسیح.bash

خروجی:

خروجی نشان می دهد که سادهقبل از میلاد مسیحدستور ‘ مقدار صحیح را مانند سایر گزینه ها هنگام اجرای هر عبارت تقسیمی تولید می کند. ‘bc -lدستور ‘ خروجی دقیق تقسیم را تولید می کند و می توانید با استفاده از قسمت کسری آن را محدود کنید مقیاس ارزش. اینجا، مقیاس=2 استفاده می شود. بنابراین خروجی 2 رقم بعد از نقطه اعشار را نشان می دهد.

عملیات حسابی بشعملیات حسابی بش

مثال-5: استفاده از دستور printf برای Float یا Double Number

«printfدستور ` راه دیگری برای کار با داده های کسری است. از این دستور می توان برای تولید مقدار ممیز شناور کارآمدتر از دستور ‘bc’ پس از عملیات حسابی استفاده کرد. از این دستور می توان برای محاسبه توان یک عدد نیز استفاده کرد. موارد استفاده از `printfدر این مثال دستور عملیات حسابی مختلف نشان داده شده است. ایجاد یک bash فایل به نام prn.bash با اسکریپت زیر استفاده از دستور printf را برای خروجی کسری تقسیم دو عدد بررسی کنید.

#!/صندوقچه/bash
# ارزش سود سهام را از کاربر بگیرید
خواندن “مقدار سود سهام را وارد کنید:” n1
# مقدار مقسوم‌کننده را از کاربر بگیرید
خواندن مقدار مقسوم‌کننده را وارد کنید: n2

# تقسیم را با استفاده از «echo» و «bc» پیدا کنید
اکو “مقیاس=2; n1 دلار/n2 دلار|قبل از میلاد مسیح

پیشنهاد می‌کنیم بخوانید:  دستور Bash `set -x`

# تقسیم را با استفاده از “printf” پیدا کنید
printf “%.2f\n $((10**2 * $n1/$n2))e-2″

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash prn.bash

خروجی:

خروجی زیر نشان می‌دهد که مقدار تقسیم ایجاد شده توسط دستورات «bc» و «printf» دو عدد صحیح یکسان است.

عملیات حسابی بشعملیات حسابی بش

خروجی زیر نشان می‌دهد که وقتی مقدار سود یک عدد ممیز شناور است، مقدار تقسیم تولید شده توسط دستور «bc» صحیح است اما دستور «printf» خطایی ایجاد می‌کند.

عملیات حسابی بشعملیات حسابی بش

ایجاد یک bash فایل به نام prn2.bash با اسکریپت زیر برای دانستن استفاده از دستور “printf” برای خروجی کسری صحیح زمانی که مقدار سود یک عدد ممیز شناور است.

#!/صندوقچه/bash
# ارزش سود سهام را از کاربر بگیرید
خواندن “مقدار سود سهام را وارد کنید:” n1
# مقدار مقسوم‌کننده را از کاربر بگیرید
خواندن مقدار مقسوم‌کننده را وارد کنید: n2

# تقسیم را با استفاده از «printf»، «echo» و «bc» پیدا کنید
printf “%.2f\n `اکو n1 دلار/n2 دلار|قبل از میلاد مسیح`

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash prn2.bash

خروجی:

خروجی نشان می دهد که «printf» با دستور «bc» خروجی درستی را تولید می کند.

عملیات حسابی بشعملیات حسابی بش

مثال-6: استفاده از دستور awk برای عملیات حسابی

استفاده از دستور awk راه دیگری برای انجام عملیات حسابی است که می تواند خروجی مناسبی برای اعداد ممیز شناور ایجاد کند. عملیات حسابی با استفاده از دستور awk بدون قالب بندی و با قالب بندی در این مثال نشان داده شده است. ایجاد یک bash فایل به نام بیخیالbash با اسکریپت زیر استفاده از دستور awk را برای عملیات حسابی بررسی کنید.

#!/صندوقچه/bash
# مقدار سود سهام را مقدار دهی اولیه کنید
n1=90
# مقدار مقسوم‌کننده را مقداردهی اولیه کنید
n2=43

# خروجی را بدون قالب بندی چاپ کنید
بیخیال “شروع {چاپ n1 دلار/n2 دلار}”
# خروجی را با قالب بندی چاپ کنید
بیخیال “شروع {printf”%.2f\n“، n1 دلار/n2 دلار}”

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash بیخیالbash

خروجی:

خروجی نشان می دهد که دستور awk می تواند خروجی کسری مناسبی تولید کند.

عملیات حسابی بشعملیات حسابی بش

مثال-7: درصد یک مقدار را محاسبه کنید

گاهی اوقات لازم است مقدار درصد معیارهای خاصی را محاسبه کنیم. درصد قابل محاسبه است bash با استفاده از دستور ‘printf’ و ‘echo’. فرض کنید باید درصد قبولی دانش آموزان را دریابیم روی یک امتحان مبتنی بر روی تعداد کل دانش آموزان و کل دانش آموزان قبول شده. راه حل این مشکل در این مثال نشان داده شده است. ایجاد یک bash فایل را با اسکریپت زیر برای محاسبه مقدار درصد دانش آموزان قبول شده با استفاده از دستور “printf”.

#!/صندوقچه/bash
# تعداد کل دانش آموزان را از کاربر بگیرید
خواندن “تعداد کل دانش آموزان:” total_std
# تعداد کل دانش آموزان قبول شده را از کاربر بگیرید
خواندن “تعداد کل دانش آموزان قبول شده:” pass_std

# درصد قبولی دانش آموزان را محاسبه کنید
printf “درصد دانش آموزان قبول شده: %.2f%%\n $((10**3 * 100 * $passed_std/$total_std))e-3″

دستور زیر را برای اجرای اسکریپت اجرا کنید.

$ bash درصدbash

خروجی:

خروجی درصد دانش آموزان قبولی را نشان می دهد روی تعداد کل دانش آموزان و دانش آموزان قبول شده.

عملیات حسابی بشعملیات حسابی بش

نتیجه

کاربرد عملگرهای مختلف حسابی در bash و روش های انجام عملیات حسابی با استفاده از دستورات مختلف در این آموزش با استفاده از مثال های متعدد برای کمک به bash کاربران

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

زمان انتشار: 1402-12-30 11:02:04

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

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

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