הקלד את הפקודות הבאות:
set a = 10
set b = $a + 1
echo $b
המעטפת תציג את מחרוזת התווים 10+1. כלומר, לא בוצעה פעולה אריתמטית רק הקצאת מקום למחרוזת תווים למשתנים.
על מנת לבצע פעולות אריתמטיות על המשתנים יש להעזר בפקודה let.
הקלד את הפקודות הבאות:
@ a = 10
@ b = $a + 1
echo $b
כעת מציגה המעטפת את המספר 11. כלומר, בוצעה פעולה אריתמטית לחישוב ערכו של משתנה b.
שים לב כי ב- KornShell הגדרת משתנים אריתמטיים תעשה ע"י הפקודה let:
let a = 10
let b = $a + 1
echo $b
טבלת קדימויות של הפעולות האריתמטיות האפשריות לביצוע ע"י הפקודה @ (או let):
הפעולה |
תחביר הפעולה |
x שלילי |
-x |
x כפול y |
x*y |
x לחלק ל- y |
x/y |
שארית חלוקת x ב- y |
x%y |
x ועוד y |
x+y |
x פחות y |
x-y |
שים לב: כאשר מבוצעת פעולת כפל (*) עליך להקיף את הביטוי האריתמטי שברצונך לחשב ע"י מרכאות או גרשיים על מנת שהמעטפת לא תפרש את את הכוכבית כהרחבה למבנה גלובלי של שמות קבצים.
לדוגמא: הקלדת
@ a = "10+5*2"
echo $a
כעת תציג המעטפת את התוצאה: 20
בעוד שבהקלדת הפקודות:
@ b = "(10+5)*2"
echo $b
תציג המעאכת את התוצאה: 30, שכן פעולת החיבור תבוצע קודם בגלל הסוגריים.
כל החישובים שמובצעים בעזרת פקודת @ (או let), מבוצעים על מספרים שלמים בלבד (integers).