סיכום – נחשו את המספר
חלק מהיחידה יסודות במסלול ה-Terminal של Coddy. שיעור 73 מתוך 82.
אתגר
קלצרו סקריפט shell בשם guesser.sh שמדמה משחק ניחוש מספרים עם רצף ניחושים קבוע.
הסקריפט שלכם צריך:
- להתחיל בשורת shebang (
#!/bin/bash) - להגדיר משתנה בשם
secretעם הערך5 - להגדיר משתנה בשם
guessעם הערך ההתחלתי0 - להשתמש בלולאת while שנמשכת כל עוד
guessאינו שווה ל-secret - בתוך הלולאה, להגדיל את
guessב-1 - להשתמש במשפט if כדי לבדוק את הניחוש:
- אם
guessקטן מ-secret, להדפיס:Guess [guess]: Too low! - אם
guessשווה ל-secret, להדפיס:Guess [guess]: Correct!
- אם
הפכו את הסקריפט לניתן להרצה והריצו אותו. הפלט שלכם צריך להיות:
Guess 1: Too low!
Guess 2: Too low!
Guess 3: Too low!
Guess 4: Too low!
Guess 5: Correct!כתיבת סקריפט מרובה שורות עם
echoאחד בכל שורה עובדת, אבל יש דרך קצרה יותר: מסמך כאן מזין לקובץ את כל מה שמופיע עד מילת הסיום.cat > script.sh << 'EOF' #!/bin/bash echo "hello" EOFהמירכאות סביב
'EOF'מונעות את הרחבת$variablesבזמן כתיבת הקובץ, וזה מה שרוצים כשהסקריפט עצמו משתמש בהם.
רמז: השתמשו ב-
-neעבור "not equal" בתנאי while, ב--ltעבור "less than" במשפט if, וב--eqעבור "equal to". הגדילו את הניחוש בתחילת כל איטרציה של הלולאה באמצעותguess=$((guess + 1)).
נסו בעצמכם
כל השיעורים ביחידה יסודות
7תוכן הקובץ
ראש וזנבספירת מיליםפקודת המיוןפקודת הסינון לכפילויותיסודות grepgrep עם דגליםסיכום – בלש/ית טקסט13יסודות כתיבת סקריפטים ב-Shell
מהו סקריפט Shellיצירה והרצה של סקריפטמשתנים בסקריפטיםקלט משתמש בסקריפטיםמשפט ifלולאת forלולאת whileסיכום – נחשו את המספר2ניווט
הצגת ספריית העבודההצגת קבציםשינוי ספרייהנתיבים מוחלטים לעומת יחסייםספריית הבית וספריית השורשסיכום – מצאו את הדרך8ניתוב מחדש
פלט סטנדרטיכתיבה לקובץ תוך דריסת התוכןהוספה לקובץקלט סטנדרטישגיאה סטנדרטיתסיכום – בונה יומני רישום14פרויקט סקריפט לגיבוי
סקירת הפרויקטקבלת נתיב המקורתרגלו בעצמכם: Terminal אונליין