मैक OSX पर बैश को कैसे रीसेट करें, .bash_profile दूषित और अब काम नहीं करता है


17

मैं एक मैकबुक प्रो पर हूं, जो माउंटेन लायन का नवीनतम संस्करण है।

मुझे वास्तव में कुछ मदद की ज़रूरत है, मैंने अपने .bash_profile (मुझे लगता है) को नुकसान पहुंचाने के लिए कुछ प्रबंधित किया है ताकि हर बार जब मैं टर्मिनल को खोलूं तो मुझे नीचे सूचीबद्ध त्रुटि मिलती है।

-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: `/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found

मुझे यकीन नहीं है कि क्या हुआ है, मेरे पास कोई सूडो, सीडी या कोई सामान्य आदेश नहीं है। एकमात्र तरीका जो मैं किसी भी मुख्य निर्देशिका में प्राप्त करने में सक्षम रहा हूं वह खोजक में फ़ोल्डर कमांड पर जाने के माध्यम से है और फ़ाइल को बिना किसी लाभ के खोजने की कोशिश करें।

यह सब करने के लिए मुझे लगता है कि मैंने एक फ़ाइल बनाई है जो समस्या पैदा कर सकती है, मैं .bash_profile संपादित करना चाहता था जिसे मैंने देखा था

sudo nano ./bash_profile

इसने नैनो में एक नई फ़ाइल खोली जो मुझे लगता है कि तब बच गई थी। इसके बाद मैंने नोड के लिए पथ में जोड़ने के लिए वास्तविक .bash_profile खोला।

अगर मुझे .bash_profile पर मिल सकता है, तो मुझे लगता है कि मैं इसे ट्रैक पर वापस ला सकता हूं, लेकिन मैं इसे नहीं ढूंढ सकता, क्या मुझे बैश को फिर से स्थापित करना चाहिए? यदि ऐसा है तो मैं कैसे करूँगा कि एक पर MAC, मैं का उपयोग करने की कोशिश की

brew install bash

जो मुझे मिलता है

-bash: brew: command not found

पहली बात मैं कोशिश करूँगा कि समस्या को हल करने में सक्षम होने के लिए एक अलग शेल में बदल जाए: यहाँ देखें कि कैसे करें कि support.apple.com/kb/TA27005 । इससे आपको आपत्तिजनक फ़ाइल को संशोधित करने / हटाने और शेल को वापस बदलने में सक्षम होना चाहिए bash
गजलर

धन्यवाद, मैंने बैश को फिर से स्थापित करने की कोशिश की है लेकिन केवल एक चीज जो बदल गई है वह -bash: export: '/Users/rob/Applications/sbt/bin:': not a valid identifierहै। एक बात जो मैं संघर्ष कर रहा हूं वह थी पहली पंक्ति को संग्रहीत किया जा सकता है, मैंने अपने .bash_profile, .profile और .bashrc में देखा है, लेकिन कुछ भी नहीं।
स्ट्रेंजोन

ठीक है तो मैं जोड़ा /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/binमेरी .bash_profile करने के लिए और यह पार्टी तय कर दी है लगता है लेकिन मैं अभी भी यह त्रुटि प्राप्त -bash: export: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifierकोई भी विचार?
स्ट्रेंजोन

क्या आप निम्नलिखित की कोशिश कर सकते हैं: PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin:$PATH" # Make sure to use double quotes not single quotesऔर एक नई लाइन पर export PATH
गजलर

धन्यवाद, लगता है कि काम किया है। कृपया मुझे बस पूछ सकते हैं कि आपने क्यों सोचा कि काम करेगा?
स्ट्रेंजोन

जवाबों:


12

बस एक जवाब के लिए मेरी सभी टिप्पणियों को एक साथ रखना:

पहली चीज जो आपको करनी चाहिए वह शेल को बदलना है, इस तरह से आप एक शेल सेट कर सकते हैं जो बैश इनिट-स्क्रिप्ट्स ( .bashrc, .bash_profile) लोड नहीं करेगा - मैक ओएस एक्स टर्मिनल ऐप के लिए यह कैसे किया जा सकता है यहां देखा जा सकता है: ऐप्पल सपोर्ट

अब आपको फिर से एक टर्मिनल खोलने में सक्षम होना चाहिए और .bash_profileफ़ाइल खोलने के लिए अपने पसंदीदा कमांड-लाइन एडिटर का उपयोग करना चाहिए (जैसे nanoया vi):

इस फ़ाइल में आपको अपने PATHचर को रीसेट करना होगा जो टर्मिनल द्वारा उपयोग किए जाने वाले कार्यक्रमों को खोजने के लिए उपयोग किया जाता है।

यह निम्नलिखित दो पंक्तियों के साथ किया जा सकता है:

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" # Make sure to use double quotes not single quotes And on a new line 
export PATH

यह पहले उन निर्देशिकाओं को सेट करेगा जिन्हें आप अपने पैट पर रखना चाहते हैं और इस पीएटीएच को इस शेल (निर्यात के माध्यम से) से शुरू होने वाले सभी कार्यक्रमों के लिए निर्यात करना चाहते हैं।


21

⇧⌘। फ़ाइल संवादों में छिपी फ़ाइलों को दिखाता है। आप TextEdit के साथ ~ / .bash_profile खोलने और इसे अस्थायी रूप से रिक्त बनाने का प्रयास कर सकते हैं।


उपयोगी कीबोर्ड शॉर्टकट के लिए +1 जो मुझे नहीं पता था :)
मिशेल

ध्यान दें: .bash_profile आपके घर निर्देशिका (उपयोगकर्ता / [उपयोगकर्ता नाम] / पर है। bash_profile
Amos

धन्यवाद @Lri, मेरा दिन बचाया!
विक्की_विग्नेश

4

मैं एक ही समस्या पर चल रहा था, और मुझे बस सरल समाधान मिला:

/usr/bin/nano .bash_profile

अपनी सभी गड़बड़ को हटाएं, फिर फ़ाइल को सहेजें


सबसे बढ़िया उत्तर। काम करने के लिए आसान और गारंटीकृत।
निक नेम

3

मुझे पता है कि यह एक पुराना धागा है लेकिन मैं यहाँ अपना समाधान छोड़ना चाहता था कि कोई और ऐसा ही मुद्दा हो।

जब मैंने मैकओएस से टर्मिनल चलाया तो यह मेरे अपने उपयोगकर्ता के साथ ठीक था, लेकिन जब सूडो में बदला गया तो यह काम नहीं कर सका (कमांड नहीं मिला)।

मैंने इसे ठीक करते हुए समाप्त किया:

nano ~/.bashrc

बस उस रास्ते को हटा दिया जो त्रुटि पैदा कर रहा था। टर्मिनल को फिर से शुरू किया और अब सब कुछ ठीक चल रहा है।


0

मुझे हाल ही में पता चला है कि डॉस शैली की फाइलें ओएस-एक्स में दोनों .bash * स्क्रिप्ट के लिए समस्याएं पैदा करती हैं। मुझे विंडोज उपयोगकर्ताओं के साथ साझा किए गए कुछ कोड के लिए डॉस फाइल एंडिंग का उपयोग करना है, इसलिए यदि मैं .bash_profile को संपादित करता हूं, तो उस git रेपो में मुझे स्क्रिप्ट चलाते समय (लॉगिन पर) बहुत सारे त्रुटि संदेश मिलते हैं। उपयोगिता dos2unix ने इसे ठीक किया।


-1

छिपी हुई फ़ाइलों को दिखाने और पाठ संपादक का उपयोग करने के पहले उल्लेख के अलावा, अपने डिफ़ॉल्ट शेल को बदले बिना एक नया शेल खोलने का एक आसान तरीका भी है। आप टर्मिनल ऐप पर क्लिक कर सकते हैं और "नया कमांड ..." चुन सकते हैं। फिर डायलॉग में "sh" टाइप करें और उसे रन करें। यह एक नॉन-बैश शेल खोलेगा और आप फ़ाइल को वहां संपादित कर सकते हैं। भविष्य में बाहर निकलने से पहले नए .bash_profile को खोलना या परीक्षण चालू रखना एक अच्छा विचार होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.