source היא פקודת מעטפת מובנית שימושית המקבלת ארגומנטים, מנתחת פקודות בסקריפט ומבצעת אותן בסביבת המעטפת. תוכן הקובץ נקרא לפי מקור ולאחר מכן מועבר למתורגמן Tool Command Language (TCL), אשר מבצע את הפקודות.

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

השתמש במקור כדי לבצע פקודות בקובץ

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

לגעתמִבְחָן.טקסט
viמִבְחָן.טקסט

# כתוב את הפקודות בקובץ הטקסט:
הֵד "שלום!"
pwd
ls

# מקור הקובץ עם תחביר המקור או הנקודה
. מִבְחָן.טקסט
מָקוֹרטֶקסט.טקסט

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

עכשיו כשאתה יודע את היסודות של השימוש במקור, בואו ננסה לשנות את סביבת ה-Bash shell. עם זאת, לפני שתמשיך, עליך להיות בעל הבנה בסיסית של משתני סביבה בלינוקס.

השתמש בפקודה המקור כדי לעדכן את סביבת ה-Bash Shell

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

instagram viewer

תהליך הילד לא יוכל לשנות את סביבת תהליך ההורה. הוא יכול רק לשנות את הסביבה שלו. בואו נבין זאת בעזרת דוגמה מעשית:

ייצוא TEST="דב"
דוגמה vi

# הקלד פקודות אלה בקובץ
ייצוא TEST="מיטה"
הֵד $TEST

# כתוב את הקובץ, הפוך אותו לניתן להרצה ולאחר מכן הפעל אותו
chmod +x דוגמה
./דוגמא # זה יחזיר "מיטה"
הֵד $TEST # זה יחזיר "deb"

כאן נכנסת לפעולה פקודת המקור. עם פקודת המקור, אתה יכול להפעיל סקריפט באותה סביבת מעטפת, שאם לא כן היה מתפצל. לכן, אם אתה מקור סקריפט שמשנה משתני סביבה, הוא יבצע את השינויים עבור סביבת ה-Bash shell.

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

# צור קובץ חדש וערוך אותו
vi מִבְחָן קוֹבֶץ
. test_file
הֵד $TEST # זה יחזיר "מיטה"

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

זה כל השלבים שאתה צריך כדי לעדכן את סביבת ה-Bash shell עם פקודת המקור.

ההבדל בין ה-bash של Linux לפקודות המקור

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

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

פתרון בעיות בפקודות המקור

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

1. שנה את המעטפת

חלק מהקליפות אינן תומכות בפקודה מקור. במקרה כזה, תצטרך לשנות את סביבת המעטפת שלך עם chsh -s ($which shell_name) פקודה.

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

2. השתמש בתחביר נקודה/תקופה

חלק מסביבות מעטפת אינן תומכות ב"מָקוֹר"תחביר אבל האלטרנטיבה"." תחביר. תחביר "מקור" הוא מילה נרדפת לנקודה ב-Bash. אבל זה לא עובד במעטפת POSIX, אז בשביל תאימות מקסימלית, השתמש בתחביר התקופה.

פקודות לינוקס בסיסיות שכדאי לדעת

פקודות מעטפת לינוקס הן דרך מצוינת ליצור אינטראקציה עם המערכת באמצעות הטרמינל. הם המהות של השימוש במערכות *NIX.

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