मैं $PATHUbuntu में एक निर्देशिका कैसे जोड़ूं और परिवर्तनों को स्थायी बनाऊं?
मैं $PATHUbuntu में एक निर्देशिका कैसे जोड़ूं और परिवर्तनों को स्थायी बनाऊं?
जवाबों:
एक पथ सेट .bash_profileकेवल बैश लॉगिन शेल ( bash -l) में सेट किया जाएगा । यदि आप इसमें अपना रास्ता डालते हैं तो .profileयह आपके पूर्ण डेस्कटॉप सत्र के लिए उपलब्ध होगा। इसका मतलब है कि मेटासिटी भी इसका इस्तेमाल करेगी।
उदाहरण के लिए ~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, आप किसी प्रक्रिया के पाथ चर को उसके वातावरण को /proc/[pid]/environ([pid] से संख्या के साथ बदलें ps axf) देख कर देख सकते हैं। जैसे उपयोगgrep -z "^PATH" /proc/[pid]/environ
bashलॉगिन शेल के रूप में या .profileतो मौजूद है .bash_profileया .bash_loginमौजूद नहीं है। से man bash:
यह उस क्रम में ~ / .bash_profile, ~ / .bash_login, और ~ / .profile के लिए दिखता है, और पहले से मौजूद आदेशों को पढ़ता और निष्पादित करता है और जो पढ़ने योग्य है।
जानकारी के लिए , या संवादात्मक गैर-लॉगिन गोले के लिए नीचे दिए गए उत्तर देखें .pam_environment, या प्रदर्शन प्रबंधकों के सत्र को प्रभावित करने के लिए .bashrcस्क्रिप्ट डालकर /etc/profile.d/या उपयोग करके सभी उपयोगकर्ताओं के लिए विश्व स्तर पर मूल्य निर्धारित करें /etc/X11/Xsession.d/।
PATH="$HOME/bin:$PATH"इसलिए मैं इसे इसमें जोड़ दूं ?
.bashrcअपनी होम निर्देशिका में संपादित करें और निम्नलिखित पंक्ति जोड़ें:
export PATH="/path/to/dir:$PATH"
.bashrcपरिवर्तनों को प्रभावी करने के लिए आपको अपना या लॉगआउट / लॉगिन (या टर्मिनल को पुनरारंभ करना) स्रोत की आवश्यकता होगी । अपने स्रोत के लिए .bashrc, बस टाइप करें
$ source ~/.bashrc
.bashrc" कैसे करते हैं ? आप "टर्मिनल को पुनरारंभ कैसे करें"?
.bashrcपर्यावरण चर सेट करने के लिए सही जगह नहीं है। वे में जाना चाहिए .profileया .pam_environment। देखें mywiki.wooledge.org/DotFiles
. .bashrcनहीं .bashrc:) या source .bashrcउस मामले के लिए
सभी उपयोगकर्ताओं के लिए लागू स्थायी, सिस्टम-वाइड पर्यावरण चर को परिभाषित करने के लिए अनुशंसित स्थान इस प्रकार है:
/etc/environment
(जहां डिफ़ॉल्ट PATHपरिभाषित किया गया है)
यह डेस्कटॉप या कंसोल, सूक्ति-टर्मिनल या TTY, बारिश या चमक;) में काम करेगा।
संपादित करने के लिए, Alt+ दबाएँ F2और टाइप करें:
gksudo gedit /etc/environment
(या sudoअपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके फ़ाइल खोलें )
परिवर्तनों को प्रभावित करने के लिए, भागो . /etc/environment। चूँकि यह फ़ाइल केवल एक साधारण स्क्रिप्ट है, यह PATHपर्यावरण चर को नया पथ चलाएगी और असाइन करेगी । चलाने के लिए जाँच करें और PATHलिस्टिंग में मूल्य देखें ।
सम्बंधित:
source /etc/environmentपरिवर्तनों को पुनः लोड करने के लिए चलाने की आवश्यकता थी
मुझे लगता है कि Ubuntu में विहित तरीका है:
के तहत एक नई फ़ाइल बनाएँ /etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
वहां जोड़ें:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
और इसे निष्पादित करने की अनुमति दें
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
पूर्ण newbies के लिए (जैसे मैं हूं) जो GUI के साथ अधिक आरामदायक हैं:
$HOMEफोल्डर खोलें ।.profileऔर Open with Text Editor पर क्लिक करें ।PATH="$PATH:/my/path/foo"।.profile)।$PATH:बिट को जोड़ना सुनिश्चित करना होगा जिसमें मौजूदा PATH परिभाषा शामिल है
केवल विशेष उपयोगकर्ताओं के लिए लगातार पर्यावरण चर उपलब्ध हैं। मैं उबंटू के आधिकारिक दस्तावेज की अत्यधिक अनुशंसा करता हूं।
https://help.ubuntu.com/community/EnvironmentVariables
उपरोक्त दस्तावेज़ीकरण का उल्लेख करते हुए, मैंने अपने Android SDK पथ-उपकरण को इसके द्वारा सेटअप किया है:
~/.pam_environmentघर निर्देशिका में फ़ाइल बनाने ।PATH DEFAULT=${PATH}:~/android-sdk-linux/tools।उस लाइन को अपनी ~/.bashrcफ़ाइल में रखें ।
जब भी आप टर्मिनल खोलते हैं तो यह खट्टा हो जाता है
EDIT : नीचे दी गई टिप्पणियों के आधार पर, अधिक सामान्य सेटिंग के लिए जो सभी गोले पर लागू होगी (जब आप हिट करते हैं Alt- F2एकता में), अपनी ~/.profileफ़ाइल में लाइन जोड़ें । PATHयदि आप एक टर्मिनल खोलते हैं , तो संभवतः दोनों को ऐसा नहीं करना चाहिए, क्योंकि पथ आपके वातावरण में दो बार जुड़ जाएगा ।
$HOME/.profileव्यक्तिगत सेटिंग्स के लिए, या /etc/profileसभी उपयोगकर्ताओं के लिए रास्ता तय किया है । लेकिन अगर यह केवल बकवास के लिए आवश्यक है, मुझे लगता है या तो काम करेगा।
~/.bashrc, तो यह केवल आपके द्वारा खोले गए टर्मिनलों में उपलब्ध होगा। उदाहरण के लिए यदि आप Alt + F2 से टकराते हैं और उस dir से कमांड चलाने का प्रयास करते हैं, तो यह नहीं मिलेगा। आप में यह सेट करते हैं ~/.profileया ~/.pam_environment, गनोम सत्र (या जो भी डे आप का उपयोग करें) यह प्राप्त कर लेगा। PATH को लागू करने में ~/.bashrcयह भी दोष है कि यदि आप किसी अन्य इंटरैक्टिव bash शेल से इंटरएक्टिव तरीके से bash खोलते / निष्पादित करते हैं, तो इसे कई बार जोड़ा जाएगा।
~/.profileहै कि व्यक्तिगत रास्तों के लिए सही है, हालांकि; उबंटू ~/binनिर्देशिका को जोड़ता है । और मैं स्वीकार करता हूं कि मैंने थोड़े से तरीकों की संख्या पर थोड़ा सा अतिशयोक्ति की।
~/.profileइस मामले में भी जाऊंगा ।
इसे सिस्टम पर सेट करने के लिए, लाइन export PATH=/path/you're/adding:$PATHको अंत तक जोड़ें /etc/profile।
केवल लॉग-इन उपयोगकर्ता के लिए निर्देशिका जोड़ने के लिए, उसी पंक्ति को इसमें जोड़ें ~/.bash_profile।
इसे .bashrc में जोड़ना काम करेगा लेकिन मुझे लगता है कि आपके पथ चर सेट करने का अधिक पारंपरिक तरीका निम्नलिखित पंक्तियों को जोड़कर .bash_profile है।
PATH=$PATH:/my/path/foo
export PATH
इस सूत्र के अनुसार ऐसा प्रतीत होता है जैसे कि उबंटू का व्यवहार रेडहैट और क्लोन से थोड़ा अलग है।
.bashrc, तो .bashrcइसके बजाय इसे छड़ी । Ubuntu में GUI टर्मिनल लॉगिन गोले नहीं हैं, इसलिए .bash_profileनहीं चलाया जाएगा।
.bash_profile। यदि बैश को कोई नहीं मिलता है .bash_profile(जब आप अंतःक्रियात्मक रूप से लॉग इन करते हैं), तो वह इसके लिए खोज करेगा .profileऔर उसका उपयोग करेगा । डिफ़ॉल्ट रूप से, आप एक होगा .profileऔर .bashrcउबंटू में। और .profileपर्यावरण चर सेट करने के लिए सही जगह है अगर हम pam_env की उपेक्षा करते हैं।
टर्मिनल में, cdकोthe_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc
यह मेरा विचार नहीं था। मुझे इस ब्लॉग पर पथ निर्यात करने का यह तरीका मिला ।
sudo vi /etc/profile.d/SCRIPT_NAME.sh
वहाँ जोड़ें
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
sudo nano /etc/profile.d/SCRIPT_NAME.shशुरुआती के लिए आसान है।
gksu gedit /etc/profile.d/SCRIPT_NAME.shऔर भी आसान है।
जब भी मैं BASH स्क्रिप्ट के अपने फ़ोल्डर को "इंस्टॉल" करता हूं, तो मैं $HOME/binउस फ़ोल्डर के लिए परीक्षण के पैटर्न का पालन करता हूं जो उबंटू के हाल के संस्करणों में सबसे अधिक .profile फ़ाइलों में है। मैंने एक परीक्षण सेट किया जो दिखता है
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
यह लगभग 100% समय के लिए काम करता है, और मुझे एक त्वरित "बदलें सभी" के साथ GUI पाठ संपादक में इसे बदलने के लिए स्वतंत्र छोड़ देता है, क्या मुझे कभी /scriptsअपने $HOMEफ़ोल्डर के करीब जाने का निर्णय लेना चाहिए । मैंने 6 उबंटू इंस्टॉल में ऐसा नहीं किया है, लेकिन "हमेशा कल" होता है। एस
BZT
अपने संपादित करने के लिए सुझाया गया तरीका PATHसे है /etc/environmentफ़ाइल
उदाहरण का आउटपुट /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
उदाहरण के लिए, के नए पथ को जोड़ने के लिए /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
फिर, अपने पीसी को रिबूट करें।
सिस्टम-वाइड वातावरण चर
पर्यावरण चर सेटिंग्स के लिए एक उपयुक्त फ़ाइल जो सिस्टम को संपूर्ण रूप से प्रभावित करती है (केवल एक विशेष उपयोगकर्ता के बजाय) / etc / पर्यावरण है। एक विकल्प /etc/profile.d निर्देशिका में उद्देश्य के लिए एक फ़ाइल बनाना है।
/ Etc / पर्यावरण
यह फ़ाइल विशेष रूप से सिस्टम-वाइड वातावरण चर सेटिंग्स के लिए है। यह एक स्क्रिप्ट फ़ाइल नहीं है, बल्कि असाइनमेंट एक्सप्रेशंस, प्रति पंक्ति एक है।
नोट: परिवर्तनीय विस्तार / etc / वातावरण में काम नहीं करता है।
अधिक जानकारी यहां पाई जा सकती है: एनवायरमेंटल वेरिएबल्स
अपना टर्मिनल खोलें, gedit .profileनिम्न लिखें और डालें:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
टर्मिनल बंद और खुला, यह काम करना चाहिए।
यहां तक कि अगर सिस्टम स्क्रिप्ट इसका उपयोग नहीं करते हैं, तो किसी भी स्थिति में, $HOME/binजो पाथ पर्यावरण चर में एक पथ (जैसे ) जोड़ना चाहता है , एक का उपयोग करना चाहिए
PATH="${PATH:+${PATH}:}$HOME/bin"
(के बजाय PATH="$PATH:$HOME/bin"), और
PATH="$HOME/bin${PATH:+:${PATH}}"
प्रस्तुत करने के बजाय (के बजाय PATH="$HOME/bin:$PATH")।
यह $PATHशुरू में खाली होने पर स्फ़ूर्त अग्रणी / अनुगामी बृहदान्त्र से बचा जाता है , जिसके अवांछित प्रभाव हो सकते हैं।
उदाहरण के लिए देखें
उबंटू के ~/.bashrcलिए निम्नलिखित पंक्ति जोड़ें और जोड़ें।
. ~/.bash_profile
फिर अपने .bash_profile को संपादित करें जैसा कि आपको चाहिए ....।
.bash_profileज़रूरत के अनुसार अपना संपादन कैसे करें "। वास्तव में मुझे क्या करने की आवश्यकता है .bash_profile?
.profileया .bash_profileस्रोत होना चाहिए .bashrc। कोई और रास्ता नही।