אנדרואיד

פקודת מקור בש

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

Anonim

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

source הוא מעטפת המובנית בבאש ופגזים פופולריים אחרים המשמשים במערכות הפעלה לינוקס ו- UNIX. התנהגותה עשויה להיות שונה מעט מקליפה לקליפה.

תחביר פיקוד מקור

התחביר לפקודת source הוא כדלקמן:

source FILENAME. FILENAME

  • source ו . (תקופה) הם אותה פקודה. אם ה- FILENAME אינו נתיב מלא לקובץ, הפקודה תחפש את הקובץ בספריות שצוינו במשתנה הסביבתי $PATH . אם הקובץ לא נמצא ב- $PATH הפקודה תחפש את הקובץ בספרייה הנוכחית. אם יינתנו ARGUMENTS כלשהם, הם יהפכו לפרמטרים של מיקום FILENAME . אם הקובץ FILENAME קיים source היציאה של פקודת source הוא 0 , אחרת אם הקובץ לא נמצא הוא יחזור 1 .

דוגמאות לפקודות המקור

בחלק זה, נסקור כמה דוגמאות בסיסיות לשימוש בפקודת source .

פונקציות המקור

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

פונקציות

check_root () { if]; then echo "This script must be run as root" exit 1 fi }

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

#!/usr/bin/env bash source functions.sh check_root echo "I am root"

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

קובץ תצורת בש

עם פקודת source , אתה יכול גם לקרוא משתנים מקובץ. יש להגדיר את VARIABLE=VALUE באמצעות תחביר Bash, VARIABLE=VALUE .

בואו ליצור קובץ תצורת מבחן:

config.sh

VAR1="foo" VAR2="bar"

בסקריפט bash שלך השתמש בפקודת source כדי לקרוא את קובץ התצורה:

#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"

VAR1 is foo VAR2 is bar

סיכום

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

מסוף bash