बीच क्या अंतर है ~/.profile
और ~/.bash_profile
?
बीच क्या अंतर है ~/.profile
और ~/.bash_profile
?
जवाबों:
.profile
बॉर्न शैल के लिए मूल प्रोफ़ाइल विन्यास (उर्फ, था sh
)। bash
, एक बॉर्न संगत शेल होने के नाते इसे पढ़ेंगे और उपयोग करेंगे। .bash_profile
दूसरी ओर केवल द्वारा पढ़ा जाता है bash
। यह उन कमांड के लिए अभिप्रेत है जो मानक बॉर्न शेल के साथ असंगत हैं।
.profile
। जैसे, bash
और ksh
लेकिन नहीं csh
या नहीं tcsh
। और zsh
दोनों sh
को csh
अनुकूलता प्रदान करता है इसलिए यह दोनों .profile
और .login
साथ ही zsh
विशिष्ट डॉट फाइलें पढ़ेगा ।
स्टार्टअप पर मूल sh
खटास .profile
।
bash
.bash_profile
पहले स्रोत की कोशिश करेगा , लेकिन अगर वह मौजूद नहीं है, तो यह स्रोत .profile
1 होगा ।
ध्यान दें कि यदि bash
शुरू किया गया है sh
(जैसे /bin/sh
एक लिंक है /bin/bash
) या --posix
ध्वज के साथ शुरू किया गया है , तो यह अनुकरण करने की कोशिश करता है sh
, और केवल पढ़ता है .profile
।
फुटनोट:
.bash_profile
, .bash_login
,.profile
यह सभी देखें:
आप जानते हैं कि यूनिक्स दुनिया में कई गोले मौजूद हैं, लेकिन उनमें से अधिकांश हैं:
/bin/sh
(आविष्कारक: स्टीफन बॉर्न)/bin/bash
(आविष्कारक: ब्रायन फॉक्स, GNU प्रोजेक्ट के तहत) (शक्तिशाली शेल)/bin/csh
(आविष्कारक: बिल जॉय, टीसीपी / आईपी स्टैक के आविष्कारक)/bin/ksh
(आविष्कारक: बेल लैब्स के तहत डेविड कॉर्न)/bin/zsh
(शक्तिशाली खोल)/bin/tcsh
(सी शेल से प्राप्त)/bin/dash
(अल्ब्यूक्विस्ट शेल (नेटबीएसडी परियोजना के तहत राख) से व्युत्पन्न) (डैश लीनी से पैदा हुआ)लेकिन आपका सवाल है ~/.bash_profile
और ~/.profile
:
जब आप UNIX मशीन में लॉग इन करते हैं, तो यह आपके होम डाइरेक्टरी में रीडायरेक्ट करता है, /etc/passwd
जैसे कि अंतिम व्यवस्थापक द्वारा चुने गए शेल के अनुसार :
mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/bin/bash
आपका शेल चलता है, और डिफ़ॉल्ट रूप से प्रत्येक शेल में login
और के लिए एक सेट फ़ाइल है logout
। जब आप bash पर लॉग इन करते हैं, ~/.profile
तो चलाया जाता है और जब आप चलते हैं logout
, ~/.bash_logout
तो चलाया जाता है।
~/.bash_history
फ़ाइल आपके इनपुट कमांड को बनाए रखती है।
~/.login
जब आप लॉगिन करेंगे~/.logout
जब आप लॉगआउट करते हैं~/.tcshrc
के रूप में ही ~./bashrc
पार्टी मेंआप चर $histfile
को इतिहास फ़ाइल के नाम के $history
रूप में और चर को रखने की संख्या के रूप में सेट कर सकते हैं ।
वास्तव में यह शक्तिशाली कवच है और यदि आपको खाली समय मिलता है, तो सुनिश्चित करें कि इसमें प्रवास करें।
अन्य शेल को छोड़कर, Z शेल में कई कॉन्फ़िगरेशन फ़ाइल और आरंभीकरण फ़ाइलें हैं, बस मैं लिखता हूं:
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
/tmp/zsh*
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
नोट: अगर $ZDOTDIR
परेशान, घर सेट।
नोट: टेनेक्स सी शेल सी शेल से फोर्क किया गया था। सी शेल बीएसडी द्वारा समर्थित है। यदि आप सी भाषा प्रोग्रामिंग से परिचित हैं, तो आपको आराम करना चाहिए क्योंकि इसका सिंटैक्स समान है।
~/.login
~/.cshrc
~/.logout
नोट: csh पुराना है। इसके बजाय tcsh का उपयोग करें।
~/.profile
यह बहुत शक्तिशाली खोल है और जीएनयू परियोजना के तहत पैदा हुआ है और बॉर्न शेल द्वारा फोर्क किया गया है।
~/.bash_login
~/.bash_logout
~/.bashrc
~/.bash_profile
~/.bash_history
जब आप लॉगिन करते हैं, तो रन ~/.bash_profile
और ~/.bash_profile
रन को बैश कर देता है ~/.bashrc
। वास्तव ~/.bashrc
में बैश इनिशियलाइज़ेशन फ़ाइल नहीं है, क्योंकि बैश इसे नहीं चलाता है।
यह मर गया। यहां तक कि जब आप उपयोग करते हैं man sh
, तो आप मैनुअल को देखते हैं dash
। [सम्पादक का ध्यान: dash
केवल उबटन की तरह डेबियन और डेबियन आधारित डिस्ट्रोस पर लागू होता है।]
~/.bash_profile
बैश के तहत काम करते हैं, लेकिन ~/.profile
बॉर्न और कोर्न शेल के तहत काम करते हैं।
एक लॉगिन शेल केवल एक शेल होता है जिसे आप ssh या कंसोल के माध्यम से लॉगिन कर सकते हैं। एक गैर-लॉगिन शेल एक ऐसा शेल है जिसे कोई व्यक्ति लॉगिन भी नहीं कर सकता है। एक गैर-लॉगिन शेल अक्सर कार्यक्रमों / सिस्टम सेवाओं द्वारा उपयोग किया जाता है।
अपने तीसरे बिंदु के रूप में। यह सच .bashrc
है कि शेल के प्रत्येक उदाहरण पर अमल किया जाता है। हालाँकि .bash_profile
इसका उपयोग केवल लॉगिन पर किया जाता है। इस प्रकार दो अलग-अलग फ़ाइलों का कारण।
.profile
उन चीजों के लिए है जो विशेष रूप से बैश से संबंधित नहीं हैं, जैसे पर्यावरण चर $ PATH यह कभी भी उपलब्ध होना चाहिए। .bash_profile
विशेष रूप से लॉगिन गोले या गोले लॉगिन के लिए निष्पादित किया जाता है।