از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
عملیات حسابی بش
سرفصلهای مطلب
مثال – 1: با استفاده از فرمان ‘expr’
قدیمی ترین دستور برای انجام عملیات حسابی در bash است ‘expr‘. این دستور فقط با مقادیر صحیح کار می کند و خروجی را مستقیماً در آن چاپ می کند terminal. هنگامی که می خواهید از ” استفاده کنید باید از فاصله با هر عملوند استفاده کنید.exprفرمان برای انجام هر گونه عملیات ریاضی. ایجاد یک bash فایل به نام expr.bash با اسکریپت زیر برای دانستن استفاده از “expr‘ فرمان
# به عنوان رشته کار می کند
expr ’10 + 30′
# به عنوان رشته کار می کند
expr 10+30
#افزودن را انجام دهید
expr 10 + 30
#مقدار باقیمانده را دریابید
expr 30 % 9
#استفاده از expr با بکتیک
myVal1=`expr 30 / 10`
اکو $myVal1
#استفاده از expr در جایگزین دستور
myVal2=$( expr 30 – 10 )
اکو $myVal2
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی نشان می دهد که عملگرهای حسابی فقط زمانی کار می کنند که برای هر مقدار عددی از فاصله استفاده شود و هیچ نقل قولی با expr فرمان شما همچنین می توانید خروجی را اختصاص دهید expr به یک متغیر دستور دهید و بعداً با استفاده از آن متغیر را چاپ کنید بکتیک یا جایگزین فرمان. 30/10 با استفاده محاسبه می شود بکتیک و 30-10 با استفاده محاسبه می شود جایگزین فرمان.
مثال – 2: استفاده از “let” Command
‘اجازه دهید’ یکی دیگر از دستورات داخلی برای انجام عملیات حسابی است bash. ‘اجازه دهید’ دستور نمی تواند خروجی را در terminal بدون ذخیره مقدار در یک متغیر ولی “بگذار” دستور را می توان برای حذف محدودیت های دیگر استفاده کرد ‘expr’ فرمان ایجاد یک bash فایل به نام اجازه دهید.bash با اسکریپت زیر برای دانستن استفاده از ‘اجازه دهید’ فرمان
# ضرب 9 در 8
اجازه دهید val1=9*3
اکو $val1
# تقسیم 8 بر 3
اجازه دهید “val2 = 8/3”
اکو $val2
# 3 را از 9 کم کنید
اجازه دهید val3=9–3
اکو $val3
# اعمال افزایش
اجازه دهید val4=7
اجازه دهید val4++
اکو $val4
# استفاده از مقدار آرگومان در عملیات حسابی
اجازه دهید “val5=50+$1”
اکو val5 دلار
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی این را نشان می دهد “بگذار” فرمان انعطاف پذیرتر از ‘ استexpr‘ فرمان شما می توانید هر عبارت حسابی را با یا بدون نقل قول ارزیابی کنید. اما شما نمی توانید از فضا در هیچ عبارت ریاضی استفاده کنید. عملگر افزایش یا کاهش را می توان در ‘ استفاده کرداجازه دهید‘ فرمان چگونه می توان عملیات حسابی را با استفاده از مقادیر آرگومان انجام داد را ‘اجازه دهیدفرمان ‘ در قسمت آخر مثال نشان داده شده است.
مثال – 3: استفاده از دو براکت
هر عملیات حسابی را می توان در انجام داد bash بدون استفاده از هیچ دستوری در اینجا از دو براکت برای انجام کارهای حسابی استفاده می شود و استفاده از دو براکت برای اجرای عبارات ریاضی انعطاف پذیرتر از دستوری مانند ‘ است.expr‘ یا ‘اجازه دهید‘. ایجاد یک bash فایلی با نام dbl.bash با اسکریپت زیر عملیات محاسباتی را با استفاده از دو براکت تست کنید.
# عبارت ریاضی را محاسبه کنید
val1=$((10*5+15))
اکو $val1
# استفاده از عملگر پست یا پیش افزایش/کاهش
((val1++))
اکو $val1
val2=41
((–val2))
اکو $val2
# استفاده از عملگر مختصر
(( val2 += 60 ))
اکو $val2
# تقسیم 40 بر 6
(( val3 = 40/6 ))
اکو $val3
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی نشان میدهد که دو براکتها میتوانند هر عبارت ریاضی را با فاصله یا بدون فاصله اجرا کنند و همچنین میتوانید از عملگرهای افزایش/کاهش و کوتاهنویسی در عبارات دو براکتی استفاده کنید.
مثال – 4: استفاده از فرمان ‘bc’ برای اعداد شناور یا دوتایی
یکی از محدودیت های عمده روش های فوق برای انجام عملیات حسابی در bash این است که ‘expr‘ یا ‘اجازه دهید‘ یا دو براکت عبارات قادر به تولید اعداد ممیز شناور یا دوگانه نیستند. خروجی عملیات تقسیم نمونه های فوق اعداد صحیح هستند. ‘قبل از میلاد مسیحدستور ‘ می تواند برای حل این مشکل استفاده شود و به عنوان یک ماشین حساب اولیه برای سیستم عامل لینوکس کار می کند. ایجاد یک bash فایل به نام قبل از میلاد مسیح.bash با اسکریپت زیر برای دانستن استفاده از “پیش از میلاد” دستور در عملیات حسابی
# تقسیم 55 بر 3 فقط با bc
اکو “55/3” | قبل از میلاد مسیح
# تقسیم 55 بر 3 با گزینه bc و -l
اکو “55/3” | قبل از میلاد مسیح -ل
# تقسیم 55 بر 3 با bc و مقدار مقیاس
اکو “مقیاس=2؛ 55/3” | قبل از میلاد مسیح
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی نشان می دهد که سادهقبل از میلاد مسیحدستور ‘ مقدار صحیح را مانند سایر گزینه ها هنگام اجرای هر عبارت تقسیمی تولید می کند. ‘bc -lدستور ‘ خروجی دقیق تقسیم را تولید می کند و می توانید با استفاده از قسمت کسری آن را محدود کنید مقیاس ارزش. اینجا، مقیاس=2 استفاده می شود. بنابراین خروجی 2 رقم بعد از نقطه اعشار را نشان می دهد.
مثال-5: استفاده از دستور printf برای Float یا Double Number
«printfدستور ` راه دیگری برای کار با داده های کسری است. از این دستور می توان برای تولید مقدار ممیز شناور کارآمدتر از دستور ‘bc’ پس از عملیات حسابی استفاده کرد. از این دستور می توان برای محاسبه توان یک عدد نیز استفاده کرد. موارد استفاده از `printfدر این مثال دستور عملیات حسابی مختلف نشان داده شده است. ایجاد یک bash فایل به نام prn.bash با اسکریپت زیر استفاده از دستور printf را برای خروجی کسری تقسیم دو عدد بررسی کنید.
# ارزش سود سهام را از کاربر بگیرید
خواندن -پ “مقدار سود سهام را وارد کنید:” n1
# مقدار مقسومکننده را از کاربر بگیرید
خواندن -پ مقدار مقسومکننده را وارد کنید: n2
# تقسیم را با استفاده از «echo» و «bc» پیدا کنید
اکو “مقیاس=2; n1 دلار/n2 دلار“|قبل از میلاد مسیح
# تقسیم را با استفاده از “printf” پیدا کنید
printf “%.2f\n“ “$((10**2 * $n1/$n2))e-2″
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی زیر نشان میدهد که مقدار تقسیم ایجاد شده توسط دستورات «bc» و «printf» دو عدد صحیح یکسان است.
خروجی زیر نشان میدهد که وقتی مقدار سود یک عدد ممیز شناور است، مقدار تقسیم تولید شده توسط دستور «bc» صحیح است اما دستور «printf» خطایی ایجاد میکند.
ایجاد یک bash فایل به نام prn2.bash با اسکریپت زیر برای دانستن استفاده از دستور “printf” برای خروجی کسری صحیح زمانی که مقدار سود یک عدد ممیز شناور است.
# ارزش سود سهام را از کاربر بگیرید
خواندن -پ “مقدار سود سهام را وارد کنید:” n1
# مقدار مقسومکننده را از کاربر بگیرید
خواندن -پ مقدار مقسومکننده را وارد کنید: n2
# تقسیم را با استفاده از «printf»، «echo» و «bc» پیدا کنید
printf “%.2f\n“ `اکو n1 دلار/n2 دلار|قبل از میلاد مسیح -ل`
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی نشان می دهد که «printf» با دستور «bc» خروجی درستی را تولید می کند.
مثال-6: استفاده از دستور awk برای عملیات حسابی
استفاده از دستور awk راه دیگری برای انجام عملیات حسابی است که می تواند خروجی مناسبی برای اعداد ممیز شناور ایجاد کند. عملیات حسابی با استفاده از دستور awk بدون قالب بندی و با قالب بندی در این مثال نشان داده شده است. ایجاد یک bash فایل به نام بیخیالbash با اسکریپت زیر استفاده از دستور awk را برای عملیات حسابی بررسی کنید.
# مقدار سود سهام را مقدار دهی اولیه کنید
n1=90
# مقدار مقسومکننده را مقداردهی اولیه کنید
n2=43
# خروجی را بدون قالب بندی چاپ کنید
بیخیال “شروع {چاپ n1 دلار/n2 دلار}”
# خروجی را با قالب بندی چاپ کنید
بیخیال “شروع {printf”%.2f\n“، n1 دلار/n2 دلار}”
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی نشان می دهد که دستور awk می تواند خروجی کسری مناسبی تولید کند.
مثال-7: درصد یک مقدار را محاسبه کنید
گاهی اوقات لازم است مقدار درصد معیارهای خاصی را محاسبه کنیم. درصد قابل محاسبه است bash با استفاده از دستور ‘printf’ و ‘echo’. فرض کنید باید درصد قبولی دانش آموزان را دریابیم روی یک امتحان مبتنی بر روی تعداد کل دانش آموزان و کل دانش آموزان قبول شده. راه حل این مشکل در این مثال نشان داده شده است. ایجاد یک bash فایل را با اسکریپت زیر برای محاسبه مقدار درصد دانش آموزان قبول شده با استفاده از دستور “printf”.
# تعداد کل دانش آموزان را از کاربر بگیرید
خواندن -پ “تعداد کل دانش آموزان:” total_std
# تعداد کل دانش آموزان قبول شده را از کاربر بگیرید
خواندن -پ “تعداد کل دانش آموزان قبول شده:” pass_std
# درصد قبولی دانش آموزان را محاسبه کنید
printf “درصد دانش آموزان قبول شده: %.2f%%\n“ “$((10**3 * 100 * $passed_std/$total_std))e-3″
دستور زیر را برای اجرای اسکریپت اجرا کنید.
خروجی:
خروجی درصد دانش آموزان قبولی را نشان می دهد روی تعداد کل دانش آموزان و دانش آموزان قبول شده.
نتیجه
کاربرد عملگرهای مختلف حسابی در bash و روش های انجام عملیات حسابی با استفاده از دستورات مختلف در این آموزش با استفاده از مثال های متعدد برای کمک به bash کاربران
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 11:02:04