אריתמטי בבאש

כיצד להוסיף חישובים כדי סקריפט

למרות Bash הוא שפת scripting, יש די הרבה את כל היכולות של שפת התכנות מטרה כללית. זה כולל פונקציות אריתמטיות. קיימות מספר אפשרויות תחביר שבהן ניתן להשתמש כדי לעורר הערכה אריתמטית של ביטוי. אולי הקריא ביותר הוא הפקודה לתת . לדוגמה

תן "m = 4 * 1024"

יחשב 4 פעמים 1024 ולהקצות את התוצאה למשתנה "מ".

ניתן להדפיס את התוצאה על-ידי הוספת הצהרת הד :

תן "מ = 4 * 1024" echo $ m

באפשרותך לבדוק זאת משורת הפקודה על-ידי הזנת הקוד הבא:

תן "m = 4 * 1024"; echo $ m

ניתן גם ליצור קובץ המכיל את פקודות בש, ובמקרה זה יש להוסיף שורה בחלק העליון של הקובץ המציין את התוכנית שאמורה לבצע את הקוד. לדוגמה:

#! / bin / bash תן "m = 4 * 1024" echo $ m

בהנחה ההפעלה באש נמצא / bin / bash . אתה גם צריך להגדיר את ההרשאות של קובץ ה- script שלך, כך שזה הפעלה. בהנחה ששם קובץ script הוא script1.sh , באפשרותך להגדיר את ההרשאות לביצוע הקובץ עם הפקודה:

chmod 777 script1.sh

לאחר מכן תוכל לבצע אותו עם הפקודה:

./script1.sh

פעולות אריתמטיות זמינות דומות לאלה בשפות תכנות סטנדרטיות כמו Java ו- C. מלבד הכפל, כפי שמוצג לעיל, אתה משתמש בנוסף:

תן "m = a + 7"

או חיסור:

תן "m = a - 7"

או חלוקה:

תן "m = a / 2"

או מודולו (השאר לאחר חלוקת מספר שלם):

תן "m = a 100%"

כאשר פעולה מוחלת על אותו המשתנה שאליו נקבעה התוצאה, ניתן להשתמש במפעילי הקצאת החציון הסטנדרטיים, הנקראים גם אופרטורים של הקצאת מתחם. לדוגמה, בנוסף, יש לנו:

let "m = + 15"

אשר שווה ל- "m = m + 15". עבור חיסור לנו:

let "m = = 3"

אשר שווה ל "m = m - 3". לחלוקה יש לנו:

let "m = = 5"

אשר שווה ל- "m = m / 5". ועל מודולו, יש לנו:

תן "% 10 = 10"

אשר שווה ל- "m = m% 10".

בנוסף, תוכל להשתמש במפעילי ההוספה וההקטנה :

תן "m + +"

שווה ל- "m = m + 1". ו

בואו">

שווה ל- "m = m - 1".

ואז יש את "סימן שאלה" המעי הגס "מפעיל, אשר מחזירה אחד משני ערכים בהתאם אם המצב שצוין נכון או שקר. לדוגמה

תן "k = (מ <9)? 0: 1"

הצד הימני של משפט ההקצאה מעריך ל "0" אם המשתנה "m" קטן מ - 9. אחרת, הוא מעריך ל - 1. משמעות הדבר היא שהמשתנה "k" מוקצה "0" אם "m" פחות מ 9 ו - "1" אחרת.

הצורה הכללית של מפעיל סימן השאלה המעי הגס היא:

מצבו? value-if-true: value-if-false

נקודה צפה אריתמטית בבש

מפעיל לתת רק עובד עבור חשבון שלם. עבור חשבון נקודה נקודה אתה יכול להשתמש למשל מחשבון גנו Bc כפי שמוצג בדוגמה זו:

הד "32.0 + 1.4" לִפנֵי הַסְפִירָה

מפעיל "צינור" "|" מעביר את הביטוי האריתמטי "32.0 + 1.4" למחשבון bc, המחזיר את המספר האמיתי. הפקודה הד מדפיסה את התוצאה לפלט הסטנדרטי.

תחביר אלטרנטיבי לאריתמטיקה

Backticks (חזרה ציטוטים בודדים) ניתן להשתמש כדי להעריך ביטוי אריתמטי כמו בדוגמה זו:

הד `expr $ m + 18`

זה יוסיף 18 לערך של המשתנה "m" ולאחר מכן להדפיס את התוצאה.

כדי להקצות את ערך המחשוב למשתנה ניתן להשתמש בסימן השווה ללא רווחים סביבו:

מ '= expr $ m + 18`

דרך נוספת להעריך ביטויים אריתמטיים היא להשתמש בסוגריים כפולים. לדוגמה:

((m * = 4))

זה יהיה להכפיל את הערך של המשתנה "מ".

מלבד הערכה אריתמטית, פגז באש מספק מבנים תכנות אחרים, כגון לולאות , בזמן לולאות , תנאים , פונקציות ושגרות .