بسط حسابی (Arithmetic Expansion) در خط فرمان لینوکس

Shell اجازه میدهد تا عملیات حسابی توسط بسط انجام شود.
این به ما اجازه میدهد تا از Shell به عنوان یک ماشین حساب استفاده کنیم:
1 2 |
[me@linuxbox ~]$ echo $((2 + 2)) 4 |
بسط حسابی (Arithmetic Expansion)
بسط حسابی به این شکل استفاده میشود:
1 |
$((expression)) |
که در این صورت expression یک عبارت حسابی است که متشکل از مقادیر و عملگرهای حسابی است.
اینگونه بسط فقط اعداد صحیح (اعداد کامل و غیراعشاری) را پشتیبانی میکند ولی میتواند عملیاتهای مختلفی را انجام دهد. جدول زیر لیست عملگرهای پشتیبانی شده را نشان میدهد:
عملگر | شرح |
---|---|
+ | جمع |
- | تفریق |
* | ضرب |
/ | تقسیم (ولی به خاطر داشته باشید که چون بسط فقط از اینتیجر پشتیبانی میکند، نتایج نیز اینتیجر خواهند بود) |
% | باقیمانده |
** | به توان رساندن |
فاصلهها در بسطهای حسابی، معنادار و مهم نیستند و ممکن است در عبارتها گنجانده شوند. برای مثال ۵ به توان ۲ ضرب در ۳:
1 2 |
[me@linuxbox ~]$ echo $(($((5**2)) * 3)) 75 |
تکپرانتزها ممکن است برای گروهبندی چندین زیرعبارت استفاده شود. با این تکنیک، میتوان مثال قبلی را بهصورت زیر بازنویسی نمود و همان نتیجه مشابه را دریافت کرد:
1 2 |
[me@linuxbox ~]$ echo $(((5**2) * 3)) 75 |
این هم یک مثال با استفاده از عملگرهای تقسیم و باقیمانده. به تاثیر تقسیم Integer توجه کنید:
1 2 3 4 |
[me@linuxbox ~]$ echo Five divided by two equals $((5/2)) Five divided by two equals 2 [me@linuxbox ~]$ echo with $((5%2)) left over. with 1 left over. |