מהו Shell Script?
Scripting של מעטפת כולל כתיבת סדרה של פקודות בקובץ טקסט רגיל, המכונה לעתים קרובות Shell Script. סקריפטים אלו מבוצעים על ידי מעטפת, שהיא מתורגמן של שורת פקודה. הפגזים הנפוצים ביותר כוללים
- Bash (Bourne Again SHell)
- Zsh (Z Shell)
- דג.
סקריפטים של מעטפת יכולים לנוע מ-one-liners פשוטים לתוכניות מורכבות, והם משמשים לביצוע מגוון רחב של משימות, כגון מניפולציה של קבצים, ניהול מערכת ואוטומציה של משימות חוזרות.
היתרונות של Scripting Shell:
אוטומציה: סקריפטים של מעטפת מאפשרים למשתמשים לבצע אוטומציה של משימות שחוזרות על עצמן, לחסוך זמן ולהפחית את הסיכוי לטעות אנוש.
התאמה אישית: משתמשים יכולים ליצור סקריפטים המותאמים לצרכים הספציפיים שלהם, ומספקים רמה גבוהה של התאמה אישית.
עיבוד אצווה: סקריפטים של מעטפת מצוינים לטיפול במשימות עיבוד אצווה, שבהן יש לבצע מספר פקודות ברצף.
ניהול מערכת: סקריפטים של מעטפת משמשים בדרך כלל למשימות ניהול מערכת, כגון גיבויים, סיבוב יומנים והתקנת תוכנה.
כתיבת סקריפט מעטפת פשוט:
בואו ניצור סקריפט מעטפת בסיסי שמדפיס הודעת ברכה. פתח עורך טקסט וצור קובץ בשם greeting.sh
. הוסף את השורות הבאות:
#!/bin/bash
# This is a simple shell script
echo "Hello, welcome to the world of shell scripting!"
שמור את הקובץ והפוך אותו לביצוע על ידי הפעלת הפקודה הבאה בטרמינל:
chmod +x greeting.sh
כעת, אתה יכול להפעיל את הסקריפט:
./greeting.sh
הפלט צריך להיות:
Hello, welcome to the world of shell scripting!
הפעלת סקריפטים של מעטפת באובונטו ולינוקס:
כעת, נדון בכיצד להפעיל קובץ .sh באובונטו ולינוקס.
הפוך את הסקריפט לניתן להפעלה: לפני הפעלת סקריפט מעטפת, ודא שהוא בר הפעלה. השתמש בפקודה
chmod
כפי שהוצג קודם לכן.נווט אל ספריית הסקריפטים: פתח מסוף והשתמש בפקודה
cd
כדי לנווט לספרייה המכילה את סקריפט המעטפת שלך.הפעל את הסקריפט: בצע את הסקריפט על ידי הקלדת
./scriptname.sh
בטרמינל, החלפת scriptname בשם האמיתי של הסקריפט שלך.
cd path/to/script
./greeting.sh
- שימוש בפקודה Bash: אם הסקריפט שלך מתחיל ב-
#!/bin/bash
(הידוע כ-shebang), אתה יכול גם להפעיל אותו באמצעות הפקודהbash
.
bash greeting.sh
מה המשמעות של $@ ב-Shell Script?
בסקריפט מעטפת, $@
מייצג את כל הארגומנטים של שורת הפקודה שהועברו לסקריפט. הוא משמש לעתים קרובות כדי להתייחס לרשימת ארגומנטים כישויות נפרדות. כשמשתמשים בו במירכאות כפולות, כמו $@
, הוא שומר על ארגומנטים בודדים, תוך התחשבות ברווחים ותווים מיוחדים.
הנה הסבר קצר:
$@
: מייצג את כל הפרמטרים המיקוםיים (הארגומנטים) המועברים לסקריפט או לפונקציה. כל טיעון מטופל כמילה נפרדת.$@
: במירכאות כפולות, שומר על הפרדה בין ארגומנטים, ומאפשר רווחים או תווים מיוחדים בתוך ארגומנטים בודדים.
הנה דוגמה פשוטה להמחשה:
#!/bin/bash
# Save this script as example.sh
echo "The total number of arguments is: $#"
echo "The arguments are: $@"
echo "The arguments with double quotes are: \"$@\""
כאשר אתה מפעיל את הסקריפט הזה עם ארגומנטים, למשל:
bash example.sh arg1 "argument 2" arg3
זה היה פלט:
The total number of arguments is: 3
The arguments are: arg1 argument 2 arg3
The arguments with double quotes are: "arg1" "argument 2" "arg3"
כפי שאתה יכול לראות, $@
מייצג את כל הארגומנטים, ו-$@
משמר את הארגומנטים הבודדים, גם אם הם מכילים רווחים.