אנדרואיד

כיצד להגדיל ולגדול משתנה בסף (מונה)

Os humildes serão exaltados (Homilia Diária.1619: Sábado da 30.ª Semana do Tempo Comum)

Os humildes serão exaltados (Homilia Diária.1619: Sábado da 30.ª Semana do Tempo Comum)

תוכן עניינים:

Anonim

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

הגדלה וירידה פירושה הוספה או חיסור של ערך (בדרך כלל 1 ) בהתאמה מערך של משתנה מספרי. ניתן לבצע את ההרחבה האריתמטית באמצעות הסוגריים הכפולים ((…)) ו- $((…)) או באמצעות הפקודה let buildin.

באש, ישנן מספר דרכים להגדיל / לצמצם משתנה. מאמר זה מסביר כמה מהם.

באמצעות + ו- - מפעילים

הדרך הפשוטה ביותר להגדיל / לצמצם משתנה היא באמצעות מפעילי + ו- - .

i=$((i+1)) ((i=i+1)) let "i=i+1"

i=$((i-1)) ((i=i-1)) let "i=i-1"

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

להלן דוגמא לתוספת של משתנה בתוך לולאה until :

i=0 until do echo i: $i ((i=i+1)) done

i: 0 i: 1 i: 2 i: 3

+= ו- -= מפעילים

בנוסף למפעילים הבסיסיים שהוסברו לעיל, bash מספק גם את מפעילי ההקצאה += ו- -= . מפעילים אלה משמשים להגדלה / רענון של הערך של האופרה השמאלית עם הערך שצוין לאחר המפעיל.

((i+=1)) let "i+=1"

((i-=1)) let "i-=1"

בלולאה הבאה while אנו מצמצמים את הערך של המשתנה i ב 5 .

i=20 while do echo Number: $i let "i-=5" done

Number: 20 Number: 15 Number: 10 Number: 5

שימוש ++ ו- --

המפעילים ++ ו- -- מצטברים וירידות בהתאמה, אופרנד שלה ב 1 ומחזירים את הערך.

((i++)) ((++i)) let "i++" let "++i"

((i--)) ((--i)) let "i--" let "--i"

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

  • תוספת קידומת: ++i --i קידומת: - התוספת של postfix: i++ הפחתה של --i : --i

מפעילי הקידומת מגדילים / מגדילים תחילה את המפעילים ב- 1 ואז מחזירים את הערך החדש של המפעילים. מצד שני, מפעילי ה- postfix מחזירים את ערך המפעילים לפני שהוא מוגדל / צומצם.

הדוגמאות הבאות מדגימות כיצד מפעיל ++ עובד כאשר משתמשים בו לפני ואחריו.

x=5 y=$((x++)) echo x: $x echo y: $y

x: 6 y: 5

x=5 y=$((++x)) echo x: $x echo y: $y

x: 6 y: 6

להלן דוגמה לשימוש במוסף התוספות בתיקון סקריפט:

#!/bin/bash i=0 while true; do if]; then exit 1 fi echo i: $i ((i++)) done

החיסרון בשימוש במפעילים אלה הוא שניתן להגדיל את המשתנה או לצמצם אותו על ידי 1 .

סיכום

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

אם יש לך שאלות או משוב, אל תהסס להשאיר תגובה.

מסוף לולאה bash