כיצד למצוא את הספרייה שבה נמצא סקריפט Bash מתוך הסקריפט

Kyzd Lmzw T Hspryyh Sbh Nmz Sqrypt Bash Mtwk Hsqrypt



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

כיצד למצוא את המדריך שבו נמצא סקריפט Bash מתוך הסקריפט

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

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

אחת הדרכים הנפוצות ביותר לקבוע את המיקום של סקריפט bash היא להשתמש ב- pwd פקודה. ה pwd פקודה ( הדפס ספריית עבודה) יציג את הספרייה הנוכחית.







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



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



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





כיצד להשיג נתיב ספרייה היכן נמצא קובץ סקריפט Bash

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

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



לפרטים נוספים אודות שם שם בצע את הפקודות הבאות בטרמינל:

$ איש שם שם

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

$ איש קישור לקריאה

עַכשָׁיו, ליצור סקריפט :

$ סודו ננו myScript.sh

ותקליד:

#!/bin/bash

הֵד 'נתיב התסריט של bash הוא $(שם שם -- '$(readlink -f – '$0') ' ; ) ';

כדי להפעיל את הסקריפט השתמש ב:

$ לַחֲבוֹט myScript.sh

בואו נשנה את הספרייה ונראה מה הפלט:

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

הפלט הוא /home/sam/Desktop ואילו קובץ הסקריפט קיים ב- /home/sam מַדרִיך.

סיכום

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