חשבון פשוט
האופרטורים האריתמטיים הרגילים מפורטים בטבלה שלהלן:
טבלה 34-3: אופרטורים אריתמטיים
תיאור המפעיל
תיאור המפעיל
+ תוספת
- חִסוּר
* כפל
/ חלוקה שלמים
** התפשטות
% מודולו (השאר)
רוב אלה מובנים מאליהם, אך חלוקת מספרים שלמים ומודולו דורשים דיון נוסף.
מכיוון שהחשבון של הקליפה פועל רק על מספרים שלמים, תוצאות החלוקה הן תמיד מספרים שלמים:
[me@linuxbox ~]$ echo $(( 5 / 2 ))
2
[me@linuxbox ~]$ echo $(( 5 / 2 ))
2
זה הופך את קביעת היתרה בפעולת חלוקה לחשובה יותר:
[me@linuxbox ~]$ echo $(( 5 % 2 ))
1
[me@linuxbox ~]$ echo $(( 5 % 2 ))
1
על ידי שימוש באופרטורים של החלוקה והמודולו, נוכל לקבוע ש-5 חלקי 2 מביאים ל-2, עם השארית של 1.
חישוב היתרה שימושי בלולאות. זה מאפשר לבצע פעולה במרווחי זמן מוגדרים במהלך ביצוע הלולאה. בדוגמה שלהלן, אנו מציגים שורת מספרים, תוך הדגשת כל כפולה של 5:
#! / bin / bash
# modulo: הדגימו את האופרטור modulo עבור ((i = 0; i <= 20; i = i + 1)); לַעֲשׂוֹת
rester=$((i % 5))
if ((שארית == 0)); ואז printf "<%d> " $i
אחר
printf "%d " $i
פי בוצע
printf "\ n"
#! / bin / bash
# modulo: הדגימו את האופרטור modulo עבור ((i = 0; i <= 20; i = i + 1)); לַעֲשׂוֹת
rester=$((i % 5))
if ((שארית == 0)); ואז printf "<%d> " $i
אחר
printf "%d " $i
פי בוצע
printf "\ n"
לאחר ביצוע, התוצאות נראות כך:
[me@linuxbox ~]$ מודולו
<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>
[me@linuxbox ~]$ מודולו
<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>