שאלה מה הם ההבדלים הפונקציונליים בין .profile .bash_profile ו- .bashrc


מה הם ההבדלים הפונקציונליים בין .profile, .bash_profile ו .bashrc קבצים?


120
2018-04-20 15:42






תשובות:


.bash_profile ו .bashrc הם ספציפיים bash, ואילו .profile הוא קרא על ידי פגזים רבים בהעדר קבצים ספציפיים שלהם פגז קונפיגורציה. (.profile שימש את פגז Bourne המקורי.) .bash_profile או .profile הוא נקרא על ידי פגזים התחברות, יחד עם .bashrc; כותרות משנה לקריאה בלבד .bashrc. (בין בקרת עבודה למערכות חלונות מודרניות, .bashrc כשלעצמה אינו מתרגל הרבה. אם אתה משתמש screen או tmux, מסכים / חלונות בדרך כלל לרוץ subshells במקום פגזים כניסה.)

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

אחר ראוי לציון פגז קונפיגורציה קבצים:

/etc/bash_profile (חזרה /etc/profile) נקרא לפני המשתמש .profile עבור תצורת המערכת כולה, וכן /etc/bashrc ב subhells (אין החזרה על זה). מערכות רבות, כולל אובונטו, משתמשות גם ב /etc/profile.d ספרייה המכילה scriptlets פגז, אשר . (source) - מ /etc/profile; השברים כאן הם לכל קליפה, עם *.sh החלים על כל קונכיות Bourne / POSIX תואם הרחבות אחרות החלים על פגז מסוים.


102
2018-04-20 15:51





.profile

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

לדוגמה, .profile יש לטעון גם בעת הפעלת הפעלת שולחן עבודה גרפי.


.bashrc

.bashrc היא עבור קביעת תצורה של שימוש אינטראקטיבי Bash, כמו Bash aliases, הגדרת האהוב עליך editor, הגדרת Bash prompt, וכו.


.bash_profile

.bash_profile היא לוודא כי גם את הדברים .profile ו .bashrc הם נטענים עבור login shells.

לדוגמה, .bash_profile יכול להיות משהו פשוט

. ~/.profile
. ~/.bashrc

אם היית להשמיט .bash_profile, רק .profile יהיה טעון.


33
2018-04-17 06:15



זה ענה על השאלה שלי עבור Mac OS X - Jake Toronto


על פי דף האיש הבאש, .bash_profile מבוצע עבור פגזים כניסה, בעוד .bashrc מבוצע אינטראקטיבי שאינם פגזים כניסה.

אז, מה הוא כניסה או פגז כניסה?

כאשר אתה מתחבר (הקלד שם משתמש וסיסמה) באמצעות קונסולת, או יושב ליד המחשב, או מרחוק באמצעות ssh: .bash_profile מבוצע כדי להגדיר את הקליפה שלך לפני הפקודה הראשונית. אבל, אם כבר נכנסת למכשיר שלך ופתח חלון מסוף חדש (xterm) בתוך Gnome או KDE, לאחר מכן .bashrc מתבצע לפני שורת הפקודה. .bashrc מופעל גם כאשר אתה מפעיל מופע חדש של באש על ידי הקלדת / bin / bash במסוף.

חריג להנחיות חלון הטרמינל הוא Terminal.app של Mac OS X, שמפעיל קליפת כניסה כברירת מחדל עבור כל חלון מסוף חדש, מתקשר .bash_profile במקום .bashrc. אחר GUI מסופי GUI יכול לעשות את אותו הדבר, אבל רובם נוטים לא.

עוד כאן http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html


21
2018-04-03 12:52