ریاضی در بش

نحوه اضافه کردن محاسبات به یک اسکریپ Bash

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

اجازه دهید "m = 4 * 1024"

4 بار 1024 محاسبه و نتیجه را به متغیر "m" اختصاص دهید.

شما می توانید نتیجه را با اضافه کردن یک اچو بیانیه چاپ کنید:

اجازه دهید "m = 4 * 1024" echo $ m

شما می توانید این را از خط فرمان تست کنید با وارد کردن کد زیر:

اجازه دهید "m = 4 * 1024"؛ echo $ m

شما همچنین می توانید یک فایل حاوی دستورات Bash ایجاد کنید، در این صورت شما باید یک خط را در بالای فایل مشخص کنید که برنامه ای است که قرار است کد را اجرا کند. مثلا:

#! / bin / bash اجازه دهید "m = 4 * 1024" echo $ m

فرض بر این است که اجرایی Bash در / bin / bash واقع شده است. شما همچنین باید مجوز فایل اسکریپت خود را به طوری که آن را قابل اجرا است. فرض بر این است که اسکریپت اسکریپت اسکریپت1. sh است ، می توانید مجوز ها را برای ایجاد فایل با فرمان اجرا کنید:

chmod 777 script1.sh

پس از آن شما می توانید آن را با دستور اجرا کنید:

./script1.sh

عملیات محاسباتی موجود شبیه آنهایی است که در زبان های برنامه نویسی استاندارد مثل Java و C وجود دارد. علاوه بر ضرب، همانطور که در بالا توضیح داده شد، از موارد زیر استفاده می کنید:

اجازه دهید "m = a + 7"

یا تفریق:

اجازه دهید "m = a - 7"

یا بخش:

اجازه دهید "m = a / 2"

یا مدول (باقیمانده پس از تقسیم عدد صحیح):

اجازه دهید "m = a٪ 100"

هنگامی که یک عملیات به همان متغیری اعمال می شود که نتیجه آن اختصاص داده می شود، می توانید اپراتورهای انتساب اختصاری ریاضی استاندارد، همچنین به عنوان اپراتورهای توزیع مجتمع اشاره داشته باشید. به عنوان مثال، برای اضافه کردن، ما:

اجازه دهید "m + = 15"

که معادل "m = m + 15" است. برای تفریق ما داریم:

اجازه دهید "m - = 3"

که برابر با "m = m - 3" معادل است. برای تقسیم ما:

اجازه دهید "m / = 5"

که معادل "m = m / 5" است. و برای مدول، ما:

اجازه دهید "m٪ = 10"

که برابر با "m = m٪ 10" معادل است.

علاوه بر این، می توانید از اپراتورهای افزایش و کاهش استفاده کنید :

اجازه دهید "m ++"

برابر با m = m + 1 است. و

اجازه دهید "m--"

معادل "m = m - 1" است.

و سپس اپراتور "question mark-colon" سه جانبه وجود دارد که یکی از دو مقدار را بسته به اینکه آیا شرایط مشخص شده درست یا غلط است، بازمی گرداند. مثلا

اجازه بدهید "k = (m <9)؟ 0: 1"

سمت راست این بیانیه تخصیص به "0" اگر متغیر "m" کمتر از 9 باشد، در صورتی که متغیر "m" کمتر از 9. باشد، در غیر این صورت، آن را به 1 ارزیابی می کند. این به این معنی است که متغیر "k" "0" اختصاص داده شده است، اگر "m" کمتر باشد از 9 و "1" در غیر این صورت.

فرم کلی پرسشگر علامت - کولون سوال است:

وضعیت ؟ value-if-true: value-if-false

ریاضی نقطه شناور در باش

اپراتور اجازه فقط برای ریاضی عدد صحیح کار می کند. برای محاسبه نقطه شناور شما می توانید به عنوان مثال ماشین حساب GNU bc استفاده کنید که در این مثال نشان داده شده است:

echo "32.0 + 1.4" | قبل از میلاد مسیح

اپراتور "pipe" "|" عدد ریاضی "32.0 + 1.4" را به ماشین حساب bc منتقل می کند، که عدد واقعی را به دست می دهد. دستور echo نتیجه را به خروجی استاندارد چاپ می کند.

نحوی جایگزین برای ریاضی

به عنوان مثال در این مثال می توان از اهرم های (back single quotations) استفاده کرد:

echo `expr $ m + 18`

این مقدار 18 را به مقدار متغیر "m" اضافه می کند و سپس نتیجه را چاپ می کند.

برای تعیین ارزش محاسباتی به یک متغیر می توانید علامت برابر را بدون فضای اطراف آن استفاده کنید:

m = `expr $ m + 18`

روش دیگری برای ارزیابی عبارات ریاضی استفاده از دوبعدی است. مثلا:

((m * = 4))

این مقدار متغیر "m" را چهار برابر می کند.

علاوه بر ارزیابی محاسباتی، پوسته Bash دیگر ساختار برنامه نویسی مانند for-loops ، in-loops ، conditionals و توابع و زیرموها را فراهم می کند.