פורסם 2011 בינואר 2814 שנים אהלן, אני מנסה (באמצעות bash script) להציג את כמות הזכרון שמשתמשים בו באחוזים. הנה מה שיש לי עד עכשיו: #!/bin/bashused = free -m | awk '/Mem/ {print $3}'total = free -m | awk '/Mem/ {print $2}'echo "$used * 100 / $total" | bcexit כשאני מנסה להריץ את זה הוא אומר שused וtotal (שני המשתנים) הם פעולות לא מוגדרות (command not found). מה הבעיה פה? כמו שאפשר להבין פה אני חדש בכל העסק של bash scripting. תודה מראש!
פורסם 2011 בינואר 2814 שנים מחבר אוקיי, זה פתר את הבעיה הראשונה....אחרי זה התלונן עם אותה שגיאה על האופציה של free אז הוספתי סוגריים מסביב לו:#!/bin/bashused=(free -m) | awk '/Mem/ {print $3}'total=(free -m) | awk '/Mem/ {print $2}'echo "$used * 100 / $total" | bcexitאבל משום מה זה עדיין לא עובד, זורק את השגיאה הזאת (ורק אותה):(standart_in) 1: parse errorיש לך מושג למה?
פורסם 2011 בינואר 2814 שנים מחבר כתבתי למעלה, זה חשב ש m- זה פעולה נפרדת, וזרק שגיאה בגלל שלא מצא פעולה בשם הזה.
פורסם 2011 בינואר 2814 שנים הי, סליחה, אני פשוט עובד ומגיב פה ביחד... זה אמור להיראות ככה כדי לעבוד: #~/bun/bashused=$(free -m | awk '/Mem/ {print $3}')total=$(free -m | awk '/Mem/ {print $2}')echo "$used * 100 / $total" | bcexit תשים לב למיקום הסוגריים וסימן ה$.
פורסם 2011 בפברואר 1214 שנים היי, הנה עוד דרך נוספת לכתיבת סקריפט כזה סתם כדי להראות שיש מספר דרכים להגיע לאותה תוצאה: #!/bin/bashused=`free -m | awk 'NR==2 {print $3}'`total=`free -m | awk 'NR==2 {print $2}'`echo "$used * 100 / $total" | bcexit 0
פורסם 2011 בפברואר 1214 שנים [ash@newisland ~]$ let m=100*$(free -m | awk '/Mem/ {print $3}')/$(free -m | awk '/Mem/ {print $2}')[ash@newisland ~]$ echo $m94
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.