मैंने अपना बैश पेट कहां सेट किया है?


9

मैं ~/binअपने पेट से निकालना चाहता हूं। मैंने इसे महीनों पहले सेट किया था जब लिनक्स (उबंटू) मेरे लिए बहुत नया था, लेकिन मुझे नहीं पता कि मैंने इसे कैसे जोड़ा ...

जब मैं नीचे सूचीबद्ध सभी फाइलों को खोजता हूं तो कुछ भी नहीं दिखाई देता है।
इसे और कहां स्थापित किया जा सकता है? $HOME/.profilePATH के साथ उपसर्ग के बाद इसे प्री-पेंड किया जा रहा है$HOME/bin

अगर इससे कोई फर्क पड़ता है, तो मुझे कमांड-प्रॉम्प्ट और रनिंग स्क्रिप्ट दोनों से एक ही तरह का पैट मिलता है।

#!/bin/bash
{
  echo "first dir of PATH is: '${PATH%%:*}'"
  shopt -s nullglob
  cat \
    /etc/profile \
    /etc/bash.bashrc \
    /etc/profile.d/*.sh \
    $HOME/.bashrc \
    $HOME/.bash_aliases \
    /etc/bash_completion \
    $HOME/.bash_completion* \
    $HOME/.profile \
    $HOME/.profile_zap \
    $HOME/.bash_profile* \
    $HOME/.bash_login* \
  | sed -rne '/~\/bin/p'
}

आउटपुट है:

first dir of PATH is: '~/bin'

PATHइसके बजाय grepping का प्रयास करें । यदि फिर भी कोई किस्मत नहीं है, तो खट्टा होने वाली किसी भी चीज के लिए सभी फाइलों की जांच करें।
jw013

क्या आपने इसके लिए अपने ~ / .bashrc और ~ / .profile की जांच की? यदि / etc / प्रोफाइल पर नज़र नहीं है। मुझे लगता है कि आप इसे इनमें से किसी एक स्थान पर पाएंगे।
निखिल

सभी को धन्यवाद ... सभी सुझाव मददगार रहे हैं ... यह इसमें था ~/.gnomerc...
पीटर '

जवाबों:


10

आप लॉगिन पर पूर्ण पर्यावरण लोड का पता लगाना चाहते हैं। एक विचार है।

चूँकि / etc / प्रोफाइल पहली फ़ाइल है, जिसे आप शीर्ष पर जोड़ सकते हैं:

set -x
exec 2> /tmp/debug.log

फिर एक नया टर्मिनल खोलें और ए करें bash -l; उसके बाद मूल टर्मिनल पर जाएं और जोड़े गए लाइनों को हटा दें (आप एक कामकाजी वातावरण चाहते हैं, क्या आप?)।

आपको /tmp/debug.log पर loading_the_bash_environment के सभी चरणों का पूरा पता लगाना चाहिए। यह एक loooong फ़ाइल होगी।

इसके साथ आप यह पता लगाने में सक्षम होंगे कि "~ / बिन" आपके PATH में कहाँ जाता है

मैं पहली बार सभी फाइलों के संक्षिप्त विवरण के लिए देखूंगा। आपके पोस्ट से मुझे विश्वास है कि रास्ते में ~ / बिन आपके द्वारा सूचीबद्ध लोगों की एक अलग फ़ाइल में सेट है।


@hmontoliu .. मुझे इसके साथ कुछ समस्याएँ हैं .. पहले, कुछ भी लॉग में नहीं जा रहा है, लेकिन मुझे टर्मिनल में बहुत अधिक आउटपुट मिल रहा है ( konsole) ... पहला संदर्भ ~/binयह दिखाता है कि पहले से ही पथ, लेकिन मैं देख नहीं सकता कि यह कहाँ से आया है .. यह इस बिंदु पर है, पहले से ही इसके बाद $HOME/binसे $HOME/.profile(मुझे यकीन है कि यह वहाँ से है, क्योंकि मैंने इस परीक्षण के लिए एक विशेष अतिरिक्त निर्देशिका का उपयोग किया है)। ... हॉवरवर, मैं अपनी सभी पाठ फ़ाइलों को खोजकर, इसे अनुभवपूर्वक खोजने में कामयाब रहा हूं .. यह आता है ~/.gnomerc.. और मुझे इसे बदलने के लिए फिर से लॉग इन करने की आवश्यकता है। ?? !! ..
पीटर

क्या आप सुनिश्चित हैं कि आपने / etc / प्रोफाइल के शीर्ष पर लाइनें चिपका दी हैं और आप इसे सादे तरीके से निष्पादित कर रहे हैं bash -l? इसे डीबगिंग (-x) को भेजना होगा, जो /tmp/debug.log पर stderr पर जाता है; वास्तव में मैंने अभी-अभी इसका परीक्षण किया है और जैसा मैंने अपेक्षित किया है
hmontoliu

मैं इसे फिर से कोशिश करूँगा (फिर से) ... यह लॉग विश्लेषण निश्चित रूप से जाने का तरीका है (जब बाकी सब विफल हो जाता है :) और यह मेरे लिए एक बेहतर अवसर है कि मैं इसे बेहतर तरीके से समझ
सकूं

... मुझे इस लॉग इश्यू को अभी के लिए बहुत मुश्किल टोकरी में डालना होगा .. यह अभी भी लॉगफाइल को आउटपुट नहीं करता था, लेकिन मुझे टर्मिनल में सैकड़ों लाइनें मिलीं .. लेकिन यह ठीक है .. यह हो गया है डीबग लॉग के लिए एक अच्छा परिचय .. और मैं निश्चित रूप से विन्यास फाइल का एक बहुत बेहतर लग रहा है ... धन्यवाद ...
पीटर।

3
मैं बदलने के लिए किया था setके साथ execदूसरी पंक्ति में है, तो यह मेरे लिए :) पूरी तरह से काम किया
thomasa88
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.